ARIA: Präsentationsrolle
Die presentation
Rolle und ihr Synonym none
entfernen die impliziten ARIA-Semantiken eines Elements, sodass sie nicht im Barrierefreiheit-Baum dargestellt werden.
Der Inhalt des Elements bleibt jedoch weiterhin für unterstützende Technologien zugänglich; es sind nur die Semantiken des Containers — und in einigen Fällen die erforderlichen zugehörigen Nachfahren —, die ihre Zuordnungen zur Barrierefreiheit-API nicht mehr offenlegen.
Beschreibung
Während ARIA hauptsächlich verwendet wird, um Semantiken auszudrücken, gibt es Situationen, in denen es hilfreich ist, die Semantiken eines Elements vor unterstützenden Technologien zu verbergen. Dies geschieht mit der presentation
Rolle oder ihrer synonymen Rolle none
, die erklärt, dass ein Element nur zur Präsentation verwendet wird und daher keine Zugänglichkeit-Semantiken besitzt.
Das Schreiben von <h2 role="presentation">Democracy Dies in Darkness</h2>
entfernt die Überschriften-Semantik des h2 Elements und macht es äquivalent zu <div>Democracy Dies in Darkness</div>
. Die Überschriftsrollen-Semantik wird entfernt, aber der Inhalt selbst ist weiterhin verfügbar.
Wenn ein Element erforderliche Nachkommen hat, wie die verschiedenen <table>
, Elemente und <li>
s als Kinder eines <ul>
oder <ol>
, entfernt die presentation
oder none
Rolle auf der Tabelle oder Liste die Standardsemantiken des Elements, auf das sie angewendet wurde, und ihrer erforderlichen Nachkommenelemente.
Wenn die presentation
oder none
Rolle auf ein <table>
Element angewendet wird, erben die Nachkommen <caption>
, <thead>
, <tbody>
, <tfoot>
, <tr>
, <th>
, und <td>
Elemente die Rolle und werden somit nicht an unterstützende Technologien übergeben. Aber, Elemente innerhalb der <th>
und <td>
Elemente, einschließlich verschachtelten Tabellen, werden an unterstützende Technologien übergeben.
<ul role="presentation">
<li>
<a href="#">Link 1</a>
</li>
<li>
<a href="#">Link 2</a>
</li>
<li>
<a href="#">Link 3</a>
</li>
</ul>
Weil die presentation
Rolle auf das <ul>
Element angewendet wurde, erbt jedes Kind-<li>
-Element die presentation
Rolle. Dies liegt daran, dass ARIA verlangt, dass listitem
Elemente ein übergeordnetes list
Element haben. Während die <li>
Elemente in diesem Fall nicht an unterstützende Technologien übergeben werden, sind Nachkommen dieser erforderlichen Elemente sichtbar. Wäre eine Liste innerhalb eines dieser <li>
‘s verschachtelt, wären sie für unterstützende Technologien sichtbar. Für Elemente ohne erforderliche Kinder bewahren alle innerhalb des Elements mit role="presentation"
oder role="none"
verschachtelten Elemente ihre Semantiken. In diesem Fall werden die <a>
Elemente innerhalb dieser <li>
Elemente offengelegt.
Das <a>
ist ein besonderer Fall. Seine Rolle wäre offengelegt worden, selbst wenn es die presentation
oder none
Rolle direkt angewendet hätte. Browser ignorieren role="presentation"
und role="none"
bei fokussierbaren Elementen, einschließlich Links und Eingaben, oder bei allem, was ein tabindex Attribut gesetzt hat. Browser ignorieren auch die Einbeziehung der Rolle, wenn eines der Elemente globale ARIA-Zustände und Eigenschaften enthält, wie etwa aria-describedby
.
Hinweis: Das Element mit role="presentation"
ist nicht Teil des Barrierefreiheit-Baums und sollte keinen zugänglichen Namen haben. Verwenden Sie nicht aria-labelledby
oder aria-label
.
Zugehörige WAI-ARIA-Rollen, -Zustände und -Eigenschaften
Keine. Wenn ein globaler ARIA-Zustand und eine Eigenschaft gesetzt sind, wird presentation
oder none
ignoriert, und die implizite Rolle des Elements wird verwendet.
Beispiele
<hr role="none" />
Spezifikationen
Specification |
---|
Accessible Rich Internet Applications (WAI-ARIA) # presentation |
Siehe auch
aria-hidden
versusrole="presentation/none"
- von Scott O'Hara