Accessibilité
Cette page a été traduite par PageTurner AI (bêta). Non approuvée officiellement par le projet. Vous avez trouvé une erreur ? Signaler un problème →
Test d'accessibilité
L'un des principes directeurs des API Testing Library est de vous permettre de tester votre application comme vos utilisateurs l'utilisent, y compris via des interfaces d'accessibilité comme les lecteurs d'écran.
Consultez la page sur les requêtes pour comprendre comment l'utilisation de requêtes HTML sémantiques garantit la compatibilité de votre application avec les API d'accessibilité des navigateurs.
getRoles
Cette fonction permet d'itérer sur les rôles ARIA implicites représentés dans une arborescence de nœuds DOM.
Elle retourne un objet indexé par nom de rôle, où chaque valeur est un tableau d'éléments possédant ce rôle ARIA implicite.
Voir ARIA in HTML pour plus d'informations sur les rôles ARIA implicites.
import {getRoles} from '@testing-library/dom'
const nav = document.createElement('nav')
nav.innerHTML = `
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>`
console.log(getRoles(nav))
// Object {
// navigation: [<nav />],
// list: [<ul />],
// listitem: [<li />, <li />]
// }
isInaccessible
Cette fonction détermine si un élément donné doit être exclu de l'API d'accessibilité par le navigateur. Elle implémente tous les critères MUST de la section
Exclusion d'éléments de l'arborescence d'accessibilité
de WAI-ARIA 1.2, à l'exception de la vérification de l'attribut role.
Définition :
function isInaccessible(element: Element): boolean
logRoles
Cette fonction utilitaire imprime tous les rôles ARIA implicites dans une arborescence DOM, chaque rôle listant les nœuds correspondants. Utile pour identifier comment interroger le DOM avec getByRole.
import {logRoles} from '@testing-library/dom'
const nav = document.createElement('nav')
nav.innerHTML = `
<ul>
<li>Item 1</li>
<li>Item 2</li>
</ul>`
logRoles(nav)
Résultat :
navigation:
<nav />
--------------------------------------------------
list:
<ul />
--------------------------------------------------
listitem:
<li />
<li />
--------------------------------------------------