Maison interface Web js tutoriel Accessibilité (a) Règles - 2

Accessibilité (a) Règles - 2

Nov 21, 2024 am 07:30 AM

Accessibility (a) Rules - 2

iFrames

  • <iframe> doit inclure un élément de titre à l'intérieur de la balise parent.

  • Comme bonne pratique, il est bon de définir le défilement sur "auto" ou "oui" dans le champ <iframe> paramètres de balise. Cela permet aux personnes malvoyantes de pouvoir faire défiler le contenu dans la zone <iframe> qu'ils ne pourraient peut-être pas voir autrement.

Ordre de mise au point

  • L'ordre de focus par défaut doit être logique, intuitif et correspondre à l'ordre visuel d'une page.

Tabindex

  • Un élément qui est normalement focalisable mais qui est dans un état inactif (par exemple, une zone de saisie ou un bouton désactivé) doit recevoir un tabindex négatif (tabindex="-1").

  • Devrait rajouter le focus à l'élément lorsqu'il est actif ou nécessaire (peut utiliser JS ou TS).

  • Devrait éviter les tabindex positifs. Donner le focus à des éléments non interactifs et perturber l’ordre normal de focus peut dérouter et frustrer les utilisateurs. Les circonstances justifient rarement l'ajout d'un tabindex positif, tel que tabindex=1 à un élément non focalisable.

Passer les liens

  • Un lien de saut doit être inclus pour aider les utilisateurs à contourner le menu de navigation.

  • Passer le lien doit inclure le contexte sur l'objectif du lien (par exemple, "Passer au contenu principal") et peut utiliser des propriétés ARIA supplémentaires comme aria-labelledby, aria-label.

  • Le lien Ignorer peut être visible ou masqué visuellement (en fonction de la conception) jusqu'à ce qu'un utilisateur y accède.

Indicateur de mise au point

  • Assurez-vous que l'indicateur de mise au point n'est pas caché sous d'autres composants.

Style par défaut du navigateur

  • Ne doit pas remplacer le style de focus du navigateur par défaut (par exemple, « contour : 0 » ou « contour : aucun »).

  • Les styles de mise au point personnalisés sont autorisés.

Javascript

Événements déclencheurs

  • Si un événement de clic (par exemple onClick()) est appliqué à des éléments non sémantiques (par exemple <div>), un événement keydown/keyup doit être ajouté pour détecter l'appui sur la touche entrée ou espace.

Titres de pages

  • Chaque page doit avoir un titre. Il est acceptable d'utiliser la propriété document.title ou un package tiers à cette fin

Contenu dynamique

Possible misuse Correct use
Render large chunks of non-semantic HTML Render smaller pieces of semantic HTML
Not allowing time for dynamic content to be recognized by assistive technology Using a setTimeout() time delay to allow users to hear the full message
Applying style attributes for onFocus() dynamically Use :focus for the related elements in your CSS stylesheet
Applying inline styles may cause user stylesheets to not be read properly Keep your styles in CSS files to keep the consistency of the theme
Creating very large JavaScript files that slow down overall site performance Use less JavaScript; prefer CSS for animations or sticky navigation for better performance

Gestion du focus au niveau des composants

  • Lorsque l'utilisateur ouvre un modal, il doit pouvoir naviguer entre les éléments exploitables qu'il contient (par exemple, les boutons d'annulation et de soumission) à l'aide de la touche Tab. Cependant, le focus doit rester confiné au modal, empêchant l'utilisateur d'accéder à des éléments extérieurs à moins qu'il ne ferme explicitement le modal. Cela garantit que le focus est piégé dans le modal.

Gestion du focus au niveau de la page

  • La concentration doit également être maintenue lorsqu'un utilisateur navigue de page en page.

  • Chaque fois qu'un utilisateur clique sur un lien pour accéder à une autre page de l'application, le focus est soit conservé au même endroit, soit potentiellement placé complètement ailleurs.

  • Voici les emplacements de focus suggérés lorsque l'utilisateur navigue d'une page à l'autre.

  • Placez le focus sur le conteneur principal avec une annonce aria-live.

  • Remettez le focus sur un lien pour passer au contenu principal.

  • Déplacez le focus sur l'en-tête de niveau supérieur de la nouvelle page.

Gestion de l'état au niveau des composants

  • L'état du composant doit être géré à l'aide des attributs ARIA (par exemple, utilisez un attribut aria-expanded pour indiquer à l'utilisateur si un menu déroulant ou une liste est développé ou réduit.).

  • Il est important d'être sélectif lors de l'application des attributs ARIA. Réfléchissez au flux d'utilisateurs pour comprendre quelles informations critiques doivent être transmises à l'utilisateur.

Gestion de l'état au niveau de la page

  • Si du contenu est ajouté ou mis à jour dynamiquement sur la page (par exemple, un message d'alerte ou un changement de texte), il doit être annoncé à l'utilisateur.

  • Mieux vaut utiliser

    • React : réagir-aria-live ou réagir-a11y-annonceur
    • Angulaire : LiveAnnouncer
    • Vue : vue-a11y-utils

(continuer...)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Article chaud

Combien de temps faut-il pour battre Split Fiction?
3 Il y a quelques semaines By DDD
Repo: Comment relancer ses coéquipiers
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Adventure: Comment obtenir des graines géantes
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
1 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Tags d'article chaud

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Remplacer les caractères de chaîne en javascript Remplacer les caractères de chaîne en javascript Mar 11, 2025 am 12:07 AM

Remplacer les caractères de chaîne en javascript

jQuery obtient un rembourrage / marge d'élément jQuery obtient un rembourrage / marge d'élément Mar 01, 2025 am 08:53 AM

jQuery obtient un rembourrage / marge d'élément

jQuery Vérifiez si la date est valide jQuery Vérifiez si la date est valide Mar 01, 2025 am 08:51 AM

jQuery Vérifiez si la date est valide

10 onglets jQuery Accordion 10 onglets jQuery Accordion Mar 01, 2025 am 01:34 AM

10 onglets jQuery Accordion

10 vaut la peine de vérifier les plugins jQuery 10 vaut la peine de vérifier les plugins jQuery Mar 01, 2025 am 01:29 AM

10 vaut la peine de vérifier les plugins jQuery

Tutoriel de configuration de l'API de recherche Google personnalisé Tutoriel de configuration de l'API de recherche Google personnalisé Mar 04, 2025 am 01:06 AM

Tutoriel de configuration de l'API de recherche Google personnalisé

Http débogage avec le nœud et le http-console Http débogage avec le nœud et le http-console Mar 01, 2025 am 01:37 AM

Http débogage avec le nœud et le http-console

jQuery Ajouter une barre de défilement à div jQuery Ajouter une barre de défilement à div Mar 01, 2025 am 01:30 AM

jQuery Ajouter une barre de défilement à div

See all articles