lynx   »   [go: up one dir, main page]

Cette page a été traduite à partir de l'anglais par la communauté. Vous pouvez contribuer en rejoignant la communauté francophone sur MDN Web Docs.

View in English Always switch to English

ARIA : rôle presentation

Le rôle presentation et son synonyme none suppriment les sémantiques ARIA implicites d'un élément afin qu'elles ne soient pas exposées à l'arbre d'accessibilité.

Le contenu de l'élément sera toujours accessible aux technologies d'assistance ; seules les sémantiques du conteneur — et dans certains cas, les descendants associés requis — ne seront plus exposées à l'API d'accessibilité.

Description

Bien que l'ARIA soit principalement utilisée pour exprimer des sémantiques, il existe certaines situations où il est utile de masquer les sémantiques d'un élément aux technologies d'assistance. Cela se fait avec le rôle presentation ou son synonyme none, qui déclarent qu'un élément est utilisé uniquement pour la présentation et n'a donc pas de sémantiques d'accessibilité.

Écrire <h2 role="presentation">Les Licornes sont gentilles</h2> supprime les sémantiques de titre de l'élément h2, le rendant équivalent à <div>Les Licornes sont gentilles</div>. Les sémantiques de rôle de titre sont supprimées, mais le contenu lui-même est toujours disponible.

Lorsque un élément a des descendants requis, comme les différents éléments <table>, et les enfants <li> d'un <ul> ou <ol>, le rôle presentation ou none appliqué à la table ou à la liste supprime les sémantiques par défaut de l'élément sur lequel il a été appliqué et de leurs éléments descendants requis.

Si presentation ou none est appliqué à un élément <table>, les éléments descendants <caption>, <thead>, <tbody>, <tfoot>, <tr>, <th>, et <td> héritent du rôle et ne sont donc pas exposés aux technologies d'assistance. Mais, les éléments à l'intérieur des éléments <th> et <td> , y compris les tables imbriquées, sont exposés aux technologies d'assistance.

html
<ul role="presentation">
  <li>
    <a href="#">Lien 1</a>
  </li>
  <li>
    <a href="#">Lien 2</a>
  </li>
  <li>
    <a href="#">Lien 3</a>
  </li>
</ul>

Parce que le rôle presentation a été appliqué à l'élément <ul>, chaque élément enfant <li> hérite du rôle presentation. Cela est dû au fait que l'ARIA exige que les éléments listitem aient un élément list parent. Bien que les éléments <li> ne soient pas exposés aux technologies d'assistance, les descendants de ces éléments requis le sont. Si nous avions imbriqué une liste dans l'un de ces <li> , elle serait visible pour les technologies d'assistance. Pour les éléments sans enfants requis, tous les éléments imbriqués à l'intérieur de l'élément avec role="presentation" ou role="none" conservent leur sémantique. Dans ce cas, les éléments <a> contenus à l'intérieur de ces éléments <li> sont exposés.

L'élément <a> est un cas particulier. Son rôle aurait été exposé même s'il avait le rôle presentation ou none directement appliqué. Les navigateurs ignorent role="presentation" et role="none" sur les éléments focusables, y compris les liens et les entrées, ou tout élément avec un attribut tabindex défini. Les navigateurs ignorent également l'inclusion du rôle si l'un des éléments contient des états et propriétés ARIA globaux, tels que aria-describedby.

Note : L'élément avec role="presentation" ne fait pas partie de l'arbre d'accessibilité et ne doit pas avoir de nom accessible. Ne pas utiliser aria-labelledby ou aria-label.

Propriétés, états et rôles WAI-ARIA associés

Aucun. Si un état et une propriété ARIA globaux sont définis, presentation ou none seront ignorés, et le rôle implicite de l'élément sera utilisé.

Exemples

html
<hr role="none" />

Spécifications

Specification
Accessible Rich Internet Applications (WAI-ARIA)
# presentation

Voir aussi

Лучший частный хостинг