ultra11y — RGAA 4.1.2 prüfen und barrierefreie Inhalte erstellen
Im Bereich Barrierefreiheit erkennt ein automatisches Tool nur einen Teil der Probleme.
ultra11y begegnet dem mit einer Arbeitsteilung: Der deterministische, null-Abhängigkeits-Motor (node scripts/ultra11y.mjs <Befehl> – kein npm install, kein Schlüssel) erledigt die mechanische Arbeit – er erkennt maschinell prüfbare Konformitätsverstöße und ordnet sie dem richtigen RGAA-Kriterium zu; Sie übernehmen die Beurteilung – Relevanz von Alternativen, Bezeichnungen im Kontext, Lesereihenfolge – sowie die Kriterien, die eine Darstellung erfordern (Kontrast, Fokus, Zoom). Sperren verhindern, dass halluzinierte Konformitätsverstöße überleben.
Kernregeln:
- Niemals einen Konformitätsverstoß erfinden: Jeder
NCverweist auf ein reales und behebbares Element (checkprüft das).- Zuerst natives HTML, ARIA zuletzt; verdoppeln Sie keine implizite Semantik.
- Der Rest ist explizit: Jedes nicht nachgewiesene Kriterium (Darstellung/Beurteilung) landet in „manuell zu prüfen“ und wird nie stillschweigend als konform markiert.
Je nach Situation auswählen
- „Prüfen / Konformitätsbericht“ →
node scripts/ultra11y.mjs audit … --json, dannreport, danncheck;references/audit.mdlesen. - „Großes Repo / Clever prüfen“ → Fokussieren:
--changed(Git-Diff), Priorisierung von Vorlagen, Deduplizierung,--max-files;references/scale.mdlesen. - „Fehler beheben“ →
fix(dry-run standardmäßig,--writewendet sichere Korrekturen an, schlägt den Rest vor ohne etwas zu erfinden);references/fix.mdlesen. - „Automatische Überwachung im Repo (Hook / CI)“ →
init --hook/--ci/--baseline(schlägt nur bei neuen Konformitätsverstößen fehl);references/automation.mdlesen. - „Diesen Code barrierefrei machen / reviewen“ → Den Ausschnitt prüfen
(
audit - < komponente.html) nach dem Prinzip „zuerst nativ“;references/authoring.mdundreferences/forbidden-patterns.mdlesen. - „Was bedeutet Kriterium X / welches Thema“ →
criteria; siehereferences/criteria.md. - „Internationale Normen (WCAG / EN 301 549 / Section 508)“ →
--standard wcagbeireport/criteria; siehereferences/methodology.md. - „Hochzuverlässige Prüfung“ →
verify --report … --semantic; siehereferences/verify.md. Methodik & Format:references/methodology.md. - „Kontrast / Darstellung prüfen (optionaler Docker-Tier)“ →
scan <url> --merge …(axe-core in einem Headless-Browser); siehereferences/dynamic.md.
Befehlsübersicht
node scripts/ultra11y.mjs audit "src/**/*.html" --json > audit.json
node scripts/ultra11y.mjs audit - < komponente.html # HTML via stdin
node scripts/ultra11y.mjs audit "src/**/*.tsx" --jsx # JSX/TSX (best-effort)
node scripts/ultra11y.mjs audit --changed --json # nur Git-Diff (großes Repo)
node scripts/ultra11y.mjs report --in audit.json --out audits
node scripts/ultra11y.mjs report --in audit.json --standard wcag # WCAG-Ansicht (Darstellung)
node scripts/ultra11y.mjs criteria 11.1 # Ein Kriterium + seine Tests
node scripts/ultra11y.mjs criteria --theme 8 --list # Ein Thema / die Liste
node scripts/ultra11y.mjs check --report audits/rgaa-AAAA-MM-JJ.md
node scripts/ultra11y.mjs verify --report audits/rgaa-AAAA-MM-JJ.md --semantic
node scripts/ultra11y.mjs fix "src/**/*.html" # dry-run; --write wendet an
node scripts/ultra11y.mjs init --hook --baseline # Regressionsschutz (Hook + Baseline)
node scripts/ultra11y.mjs scan https://beispiel.de --merge audits/audit-latest.json # Docker-Tier
Maschinenausgabe überall mit --json. Bericht standardmäßig auf Deutsch, --lang en verfügbar.
Motor, Beurteilung und Restrisiko kombinieren
Die Ausgabe von audit klassifiziert jedes Kriterium: C/NC/NA für den statischen
Teil; manual für Kriterien der Darstellung/Beurteilung (aufgelistet in
residualRisks). Die NC des Motors sind bestätigte Kandidaten (mit datei:zeile
angegeben). Sie entscheiden über die Kriterien manual und markieren die
Darstellungskriterien als „manuell zu prüfen“. Der Bericht ist erst vollständig,
wenn jedes anwendbare Kriterium begründet C/NC/NA ist und jedes Restrisiko
benannt wurde.
Verbotenes
- Einen Konformitätsverstoß erfinden, den der Motor nicht gefunden hat und den Sie
nicht sehen können (der Kontrast bei wörtlichen Inline-Farben wird statisch
entschieden; der berechnete Kontrast – externes CSS, Variablen – wird über
scan(Docker-Tier) oder am gerenderten Zustand überprüft, bevor er gemeldet wird). - ARIA hinzufügen, das die native Semantik verdoppelt.
- Ein Kriterium der Darstellung/Beurteilung ohne menschliche Prüfung als „konform“ markieren.
references/criteria.mdmanuell bearbeiten (wird aus dem Referenzdokument generiert).
Umfang
Statischer Motor: offline, deterministisch, null Abhängigkeiten; Eingaben: HTML +
JSX/TSX (best-effort) + stdin. Die Darstellungskriterien (berechneter Kontrast,
Reflow) werden durch den optionalen scan-Tier abgedeckt (axe-core in Docker);
sichtbarer Fokus, Textzoom 200 % und Inhalte bei Hover bleiben der manuellen
Prüfung vorbehalten (Restrisiko). Daten: RGAA 4.1.2 © DINUM, Lizenz Ouverte / Etalab
2.0 (siehe NOTICE).