Deine React-Website ist nicht progressiv, wenn nicht darauf zugegriffen werden kann. Audits während der Entwicklung können Ihnen helfen, Probleme zu erkennen.
react-axe
ist eine Bibliothek, die eine
Anwendung reagieren und Probleme mit dem Zugriff in den Chrome-Entwicklertools protokollieren
. Dabei kommt die Open-Source-Software Axe zum Einsatz.
um Probleme und deren Schweregrad zu kennzeichnen.
eslint-plugin-jsx-a11y
ist
ESLint-Plug-in, das eine Reihe von Regeln für die Barrierefreiheit identifiziert und erzwingt
direkt in Ihre JSX-Datei einfügen. Die Verwendung in Kombination mit einem Tool, das die finale
kann ein gerendertes DOM wie z. B. react-axe
Ihnen helfen, Bedienungshilfen zu finden und
Bedenken auf Ihrer Website haben.
Welchen Nutzen bieten sie?
Es ist von entscheidender Bedeutung, Websites zu erstellen, die allen Nutzenden
Beeinträchtigung oder Einschränkung,
der Fähigkeit, auf Inhalte zuzugreifen. Auditing verwenden
wie react-axe
und eslint-plugin-jsx-a11y
während der
werden bei der Entwicklung der React-Anwendung automatisch
Probleme mit der Barrierefreiheit.
eslint-plugin-jsx-a11y verwenden
React unterstützt bereits das Schreiben barrierefreier HTML-Elemente innerhalb der JSX-Syntax. Für
Sie müssen beispielsweise nur das Attribut htmlFor
statt for
verwenden, um ein
einem bestimmten Formularelement innerhalb einer React-Komponente hinzu.
<input id="promo" type="checkbox">
<label htmlFor="promo">Receive promotional offers?</label>
Die
Dokumentation zur Barrierefreiheit in React
deckt alle Nuancen beim Umgang mit Bedenken hinsichtlich der Barrierefreiheit in React ab
Komponente. Damit Sie diese Probleme während der Entwicklung leichter erkennen können,
React App (CRA) enthält das Plug-in eslint-plugin-jsx-a11y
für ESLint,
Standardeinstellung.
So aktivieren Sie das von CRA bereitgestellte vorkonfigurierte Linting:
- Das entsprechende ESLint-Plug-in für Ihren Code-Editor installieren
- Dem Projekt eine
.eslintrc.json
-Datei hinzufügen
{
"extends": "react-app"
}
Hier werden einige häufige Probleme mit der Barrierefreiheit angezeigt.
Um nach noch mehr Bedienungshilfen zu suchen, ändern Sie die Datei so, dass sie automatisch Alle vom Plug-in empfohlenen Regeln einschließen:
{
"extends": ["react-app", "plugin:jsx-a11y/recommended"]
}
Wenn Sie eine noch striktere Teilmenge von Regeln haben möchten, wechseln Sie in den strikten Modus:
{
"extends": ["react-app", "plugin:jsx-a11y/strict"]
}
Das Projekt Dokumentation finden Sie Informationen zu den Unterschieden zwischen dem empfohlenen und dem strikten Modus.
Reaktionsaxt verwenden
Mit eslint-plugin-jsx-a11y
kannst du Probleme mit der Barrierefreiheit ganz einfach ausfindig machen
in JSX einfügen, aber die endgültige HTML-Ausgabe wird nicht getestet. react-axe
ist eine Bibliothek, die genau dies tut, indem sie einen React-Wrapper um den
axe-core
-Testtool von Deque Labs.
Installieren Sie zuerst die Bibliothek als Entwicklungsabhängigkeit:
npm install --save-dev react-axe
Jetzt müssen Sie nur noch das Modul in index.js
initialisieren:
if (process.env.NODE_ENV !== 'production') {
import('react-axe').then(axe => {
axe.default(React, ReactDOM, 1000);
ReactDOM.render(<App />, document.getElementById('root'));
});
} else {
ReactDOM.render(<App />, document.getElementById('root'));
}
A
dynamischer Import
wird hier verwendet, um die Bibliothek nur zu laden, wenn sie sich nicht vorher im Produktionsmodus befindet
die App
-Stammkomponente wird gerendert und gestartet. So wird sichergestellt,
unnötig im endgültigen Produktionspaket enthalten.
Wenn Sie die Anwendung jetzt während der Entwicklung ausführen, werden Probleme direkt in der Chrome-Entwicklertools-Konsole.
Jedem Verstoß wird ein Schweregrad zugewiesen. Diese Ebenen sind:
- Geringfügig
- Moderat
- Ernst
- Kritisch
Fazit
- Wenn Sie eine Website mit React erstellen, fügen Sie um Probleme beim Erstellen Ihrer Komponenten zu erkennen.
- Mit
eslint-plugin-jsx-a11y
können Sie Ihrem Linting Prüfungen für Bedienungshilfen hinzufügen zu optimieren. CRA ist bereits enthalten, aber wechseln Sie entweder zum empfohlenen oder strikten Modus. - Nimm zusätzlich zu den lokalen Entwicklungstests
react-axe
in deine um Probleme mit dem endgültigen gerenderten DOM zu erkennen. Nicht einschließen in dein Produktionspaket ein.