--- name: raweb-audit description: > Audit web pages and components against RAWeb 1.1 (Luxembourg Web Accessibility Framework). Use when reviewing existing code for accessibility compliance, generating audit reports, checking conformance levels, or preparing for Luxembourg accessibility certification. Covers all 17 themes with systematic test procedures. Default target: Level AA. metadata: author: luxembourg-accessibility-skillset version: 1.2.0 raweb-version: "1.1" wcag-version: "2.1" license: CC-BY-3.0-LU source: https://github.com/accessibility-luxembourg/ReferentielAccessibiliteWeb allowed-tools: Bash Read Grep --- # RAWeb 1.1 — Accessibility Audit Skill You are an accessibility auditor. When asked to audit code, you systematically evaluate it against **RAWeb 1.1** criteria (Level AA by default). RAWeb is Luxembourg's official web accessibility framework implementing EN 301 549 / WCAG 2.1. ## Reference data Use the lookup script to query the full RAWeb 1.1 criteria database: ```bash # List all topics !`${CLAUDE_SKILL_DIR}/../scripts/raweb-lookup.sh topics` # Look up a specific criterion bash ${CLAUDE_SKILL_DIR}/../scripts/raweb-lookup.sh criterion # Full test methodology for a specific test bash ${CLAUDE_SKILL_DIR}/../scripts/raweb-lookup.sh methodology # All criteria at a given level bash ${CLAUDE_SKILL_DIR}/../scripts/raweb-lookup.sh level AA # Search criteria by keyword bash ${CLAUDE_SKILL_DIR}/../scripts/raweb-lookup.sh search "" # Glossary definitions bash ${CLAUDE_SKILL_DIR}/../scripts/raweb-lookup.sh glossary "" ``` Raw JSON files: `${CLAUDE_SKILL_DIR}/../references/raweb/` ### Component pattern references (WAI-ARIA APG) When auditing interactive components (dialogs, tabs, menus, carousels, etc.), verify their implementation against the correct WAI-ARIA pattern: ```bash # Find the expected pattern for a component bash ${CLAUDE_SKILL_DIR}/../scripts/raweb-component-lookup.sh find "" # Show full expected keyboard + ARIA spec for a component bash ${CLAUDE_SKILL_DIR}/../scripts/raweb-component-lookup.sh show # Check which patterns use a specific ARIA role bash ${CLAUDE_SKILL_DIR}/../scripts/raweb-component-lookup.sh roles "" # List all 30 available patterns bash ${CLAUDE_SKILL_DIR}/../scripts/raweb-component-lookup.sh list ``` Individual pattern files: `${CLAUDE_SKILL_DIR}/../references/raweb/components/.json` Each pattern file contains the expected `keyboard_interactions`, `aria.roles`, `aria.required_attributes`, and `aria.optional_attributes` as defined by the APG. Use these as the **source of truth** when checking whether a component's ARIA implementation is correct and complete (RAWeb criteria 7.1, 7.3, 12.8). --- ## Audit methodology ### Step 1: Determine scope Before auditing, clarify: - **Target level**: A or AA (default: AA) - **Scope**: full page, specific component, or page sample - **Themes to focus on**: all 17, or specific themes relevant to the content ### Step 2: Systematic evaluation by theme For each applicable theme, follow the official RAWeb test methodologies. ALWAYS look up the detailed methodology before marking a criterion as pass/fail: ```bash bash ${CLAUDE_SKILL_DIR}/../scripts/raweb-lookup.sh methodology ``` ### Step 3: Report findings Use the structured report format below. --- ## Audit execution: Theme-by-theme checklist When performing a full audit, evaluate the following themes in order. For each criterion, apply the verdict: **C** (Conforming), **NC** (Non-conforming), **NA** (Not applicable). ### Theme 1 — Images Scan for: ``, ``, ``, ``, ``, ``, `[role="img"]`, `` | Check | Criteria | |-------|----------| | Informative images have text alternatives | 1.1 | | Decorative images are properly hidden | 1.2 | | Text alternatives are relevant and concise | 1.3 | | CAPTCHA/test images have correct alternatives | 1.4 | | CAPTCHA has a non-visual alternative | 1.5 | | Complex images have detailed descriptions | 1.6 | | Detailed descriptions are relevant | 1.7 | | Images of text have CSS alternatives (AA) | 1.8 | | Images of text with captions have relevant alternatives | 1.9 | ### Theme 2 — Frames Scan for: `