Skip to main content

Crate a11y_rules

Crate a11y_rules 

Source
Expand description

Accessibility-Regeln, generisch über das Dokumentmodell.

Ein Regelbestand, drei Oberflächen: Build-Zeit, CI/Crawl und die laufende Seite. Welche Regeln laufen können, hängt davon ab, welche Tiers der Host bedient.

§Nicht gelaufen ist nicht bestanden

run läuft mit dem, was da ist, und hält für jede Regel fest, ob sie laufen konnte. Eine Tier-2-Regel auf einem Host ohne Semantics erzeugt keinen stillen Nicht-Befund, sondern einen Vermerk mit NotRun::CapabilityMissing.

use a11y_dom::Arena;
use a11y_rules::run;

let doc = Arena::builder()
    .open("html")
        .open("body")
            .open("img").attr("src", "logo.png").close()
        .close()
    .close()
    .build();

let report = run(&doc);

// Gefunden: kein lang, kein title, kein alt.
assert!(report.findings.iter().any(|f| f.rule_id == "images/alt-missing"));
assert!(report.findings.iter().any(|f| f.rule_id == "document/lang-missing"));

// Nicht beurteilt: die Tier-2- und Tier-3-Regeln, weil dieser Host weder
// Semantik noch Darstellung liefert. Sie fehlen nicht im Bericht, sie
// stehen mit `NotRun::CapabilityMissing` darin.
assert_eq!(report.summary.rules_not_run, 7);

Mit einem Host, der Semantics erfüllt, laufen die über run_with_semantics mit.

Structs§

Meta
Was über eine Regel unabhängig vom Host feststeht.
RenderingRule
Eine Regel auf Tier::Rendering — braucht berechnete Stile und Geometrie.
SemanticsRule
Eine Regel auf Tier::Semantics — braucht Rolle und Accessible Name.
StructureRule
Eine Regel auf Tier::Structure — Tags, Attribute, Text, Hierarchie.

Functions§

rendering_metas
Siehe structure_metas.
rendering_rules
Alle Tier-3-Regeln.
run
Prüft ein Dokument, das nur Struktur liefert.
run_full
Prüft ein Dokument, das Struktur, Semantik und Darstellung liefert.
run_with_rendering
Prüft ein Dokument, das Struktur und Darstellung liefert, aber keine Semantik. Selten — aufgeführt, damit die Tier-Kombination nicht durch das Raster fällt.
run_with_semantics
Prüft ein Dokument, das zusätzlich Rolle und Accessible Name liefert.
semantics_metas
Siehe structure_metas.
semantics_rules
Alle Tier-2-Regeln.
structure_metas
Die Deklarationen ohne Bindung an einen Host — für Werkzeuge, die den Regelbestand auflisten oder Kennungen benennen müssen, ohne ihn auszuführen.
structure_rules
Alle Tier-1-Regeln.