Heute hat „ Deque “ die Version 4.1.0 von axe-core veröffentlicht. Ziel dieser Veröffentlichung war es, seit Langem bestehende Probleme und Lücken zu beheben. Dazu gehörten mehrere neue Regeln, die bereits seit mehreren Jahren auf unserer To-do-Liste standen. Außerdem haben wir uns entschlossen, eine immer länger werdende Liste seltener Fehlalarme anzugehen, um die Anzahl der bekannten Fehlalarme unter axe-core wieder auf null zu senken.
Neue Regeln für ARIA
Axe-core Version 4.1.0 enthält 6 neue Regeln, die die Barrierefreiheit von Namen verschiedener Arten von ARIA-Komponenten prüfen. Die Regeln sind entsprechend ihrer Zuordnung zu den WCAG gruppiert. Diese sechs Regeln folgen dem gleichen Muster: Elemente mit einem role Attribute, die diesen Wert haben, müssen einen barrierefreien Namen aufweisen, entweder mithilfe eines aria-label, aria-labelledby oder title Attribut oder in manchen Fällen durch den Inhalt des Elements.
Durch das Hinzufügen eines barrierefreien Namens zu diesen Komponenten wird sichergestellt, dass Nutzer von assistiven Technologien den Zweck dieser Regeln nachvollziehen können. Die folgende Tabelle zeigt die hinzugefügten Regeln:
| Regel-ID | Getestete ARIA-Rollen | Test für | Name aus dem Inhalt |
| aria-command-name | Link, Schaltfläche, Menüpunkt | Kriterium 4.1.2 | Ja |
| aria-dialog-name | Dialogfeld, Warnmeldungsfeld | Bewährte Vorgehensweise | Nein |
| aria-meter-name | Meter | Kriterium 1.1.1 | Nein |
| aria-progressbar-name | Fortschrittsbalken | Kriterium 1.1.1 | Nein |
| aria-tooltip-name | Tooltip | Kriterium 4.1.2 | Ja |
| aria-treeitem-name | Baumelement | Bewährte Vorgehensweise | Ja |
Die link und button Die Rollen wurden zuvor in verschiedenen Regeln getestet. Dies wurde geändert, um eine aussagekräftigere Fehlermeldung zu erhalten. Zudem wurde der HTML-Code select Das Element wird nun in einem neuen select-name Regel, anstelle der label Regel.
Vermeiden Sie Konflikte bei der Darstellung von Rollen
Die letzte neue Regel in „ axe-core “ 4.1.0 ist die presentation-role-conflict Best-Practice-Regel, die uns von einem externen Mitwirkenden zur Verfügung gestellt wurde Sam Lee (Danke, Sam!). Diese Regel stellt sicher, dass bei der Verwendung eines role Attribut mit presentation oder none, wird es so verwendet, dass es von Browsern und assistiven Technologien nicht ignoriert wird. Dies kann passieren, wenn das Element ein globales ARIA-Attribut verwendet, wie beispielsweise aria-label oder aria-live. Auch „Presentation“-Rollen werden bei Elementen, die den Fokus erhalten können, ignoriert. Aus diesem Grund führt das Einfügen von role=none auf einem button Das Element wird ignoriert, es sei denn, die Schaltfläche ist ebenfalls disabled. Mit dieser Regel können Sie sicher sein, dass, wenn Sie role=presentation, wird es entsprechend behandelt.
Behebung von Fehlalarmen
Unser bekanntes Mantra bei „ axe-core “ lautet, dass wir Fehlalarme als Fehler behandeln. Wenn Sie einen finden und uns darüber informieren, werden wir ihn beheben. „ Axe-core “ wird derzeit jede Woche mehrere Millionen Mal heruntergeladen, sodass selbst sehr seltene Fehlerarten gemeldet werden. Diese haben sich während der Entwicklung von „ axe-core “ Version 4.0 über eine gewisse Zeit hinweg angesammelt. Für die Version 4.1 haben wir uns intensiv daran gemacht und (fast) jeden einzelnen bekannten Fehlalarm behoben. Zu den behobenen Fehlalarmen in Randfällen gehören unter anderem:
- Berücksichtigung der Hintergrundfarben von Pseudo-Elementen in
color-contrast(Ausgabe 975) - Links, die ein Landmark umschließen, sollten ihren Namen aus dem Inhalt des Landmarks ableiten, sofern dieses keinen barrierefreien Namen hat. (Issue 1461)
- Leere SVG-Elemente in der Regionsregel ignorieren (Problem 1832)
- CSS zulassen
text-shadowals Textumriss für den Farbkontrast dienen (Ausgabe 2541) imgElemente mitrole=buttonsollte Alt-Attribute zulassen (Ausgabe 2577)
Unser Ziel war es, die Anzahl der Fehlalarme wieder auf null zu senken. Bei der Version 4.1.0 ist uns dies noch nicht ganz gelungen, aber wir gehen davon aus, dass auch diese letzten drei Probleme in einem kommenden Patch behoben werden. Eine vollständige Liste der Fehlerbehebungen finden Sie im Changelog unter „axe-core “.
Sonstige Änderungen
Weitere nennenswerte Änderungen in „ axe-core “ 4.1.0:
- Um axe-core so schnell wie möglich laufen zu lassen, haben wir die Dateigröße von axe-core reduziert. Mit 108 KB ist axe-core 4.1.0 um 30 KB kleiner als axe-core 4.0.
- Die Ergebnisse in Iframes werden nun entsprechend ihrer Position auf der Seite sortiert, anstatt die Iframe-Ergebnisse am Ende der Ergebnisliste anzuzeigen.
- Das W3C hat sieben weitere ACT-Regeln veröffentlicht. Die „ACT“-Kennzeichnung wurde den Regeln unter axe-core hinzugefügt, die diesen sieben ACT-Regeln entsprechen.
Hacktoberfest
In diesem Jahr hat axe-core zum zweiten Mal am Hacktoberfest teilgenommen. Dabei handelt es sich um eine Veranstaltung im Oktober, bei der Teilnehmer für ihren Beitrag zu Open-Source-Projekten ein kostenloses T-Shirt in limitierter Auflage erhalten oder einen Baum pflanzen können. In diesem Jahr haben 11 unserer Mitarbeiter zu axe-core beigetragen. Unser Dank gilt den folgenden GitHub-Nutzern: Bracciata, DSanz, Eps1lon, mDalessandro, GilGold, IMccausl, LoganRas, RedGardner, ShankarShastri, StevenDufresne und TimmyBytes. Nicht Teil des Hacktoberfest, aber ebenso geschätzt: 42tte für mehrere Beiträge zu axe-core 4.1.
Axe-core 4,1 bei anderen Axe-Produkten
Axe-core Version 4.1.0 ist derzeit auf NPM verfügbar. Alle Nutzer von „ axe-core “ im Rahmen der axe DevTools-APIs oder einer der Open-Source-Integrationen unter axe-core können bereits heute mit der Nutzung von „ axe-core “ 4.1.0 beginnen. Für andere axe-Produkte, darunter „axe Extension“, „axe Expert Extension“, „axe Auditor“ und „axe Monitor“, wird in den nächsten Wochen ein Update mit „ axe-core “ 4.1 veröffentlicht.