Communitygithub.com

ultra11y

Auditiert HTML/CSS/JSX auf RGAA 4.1.2 + WCAG 2.1/2.2 AA (datierter Bericht) oder erstellt/reviewt barrierefreies Markup – ein dependency-freier, statischer Prüfmechanismus mit KI-Beurteilung und Anti-Halluzinationssperren. Ein skills.sh-Agenten-Skill.

Was ist ultra11y?

ultra11y ist ein statischer Prüfmechanismus für die Barrierefreiheit, der eine klare Aufgabenteilung umsetzt: Ein null-Abhängigkeits-Modul (`node scripts/ultra11y.mjs`) erkennt automatisch maschinell prüfbare Konformitätsverstöße gegen RGAA 4.1.2 und WCAG 2.1/2.2 AA, während der Entwickler die Beurteilung übernimmt – etwa die Relevanz von Alternativtexten, aussagekräftige Bezeichnungen oder die logische Lesereihenfolge. Besondere Anti-Halluzinationssperren verhindern, dass erfundene Fehler gemeldet werden. Der Skill bietet eine Reihe von Befehlen: `audit` für Prüfungen (auch per stdin), `report` zur Erstellung datierter Berichte, `fix` für automatische Korrekturen (dry-run oder direkt), `check` und `verify` für nachträgliche Qualitätssicherung sowie `scan` als optionales Docker-gestütztes Modul für Contrast-Prüfungen. Zudem lassen sich Regressionsprüfungen über Git-Hooks oder CI-Pipelines einrichten. Plattformunabhängig und ideal für Entwicklerteams, die Barrierefreiheit nachhaltig in ihren Workflow integrieren möchten – von einzelnen Komponenten bis zu großen Repos. Der Skill ist in skills.sh als ‚Agent Skill‘ katalogisiert und unterstützt neben HTML auch JSX/TSX (best-effort).

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add maxgfr/ultra11y

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

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:

  1. Niemals einen Konformitätsverstoß erfinden: Jeder NC verweist auf ein reales und behebbares Element (check prüft das).
  2. Zuerst natives HTML, ARIA zuletzt; verdoppeln Sie keine implizite Semantik.
  3. 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, dann report, dann check; references/audit.md lesen.
  • „Großes Repo / Clever prüfen“ → Fokussieren: --changed (Git-Diff), Priorisierung von Vorlagen, Deduplizierung, --max-files; references/scale.md lesen.
  • „Fehler beheben“ → fix (dry-run standardmäßig, --write wendet sichere Korrekturen an, schlägt den Rest vor ohne etwas zu erfinden); references/fix.md lesen.
  • „Automatische Überwachung im Repo (Hook / CI)“ → init --hook/--ci/--baseline (schlägt nur bei neuen Konformitätsverstößen fehl); references/automation.md lesen.
  • „Diesen Code barrierefrei machen / reviewen“ → Den Ausschnitt prüfen (audit - < komponente.html) nach dem Prinzip „zuerst nativ“; references/authoring.md und references/forbidden-patterns.md lesen.
  • „Was bedeutet Kriterium X / welches Thema“ → criteria; siehe references/criteria.md.
  • „Internationale Normen (WCAG / EN 301 549 / Section 508)“ → --standard wcag bei report/criteria; siehe references/methodology.md.
  • „Hochzuverlässige Prüfung“ → verify --report … --semantic; siehe references/verify.md. Methodik & Format: references/methodology.md.
  • „Kontrast / Darstellung prüfen (optionaler Docker-Tier)“ → scan <url> --merge … (axe-core in einem Headless-Browser); siehe references/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.md manuell 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).

Verwandte Skills