Was ist der Unterschied zwischen aria-label- und title-Attributen?

Lesezeit: 5 Minuten

Benutzer-Avatar
Alain Timblo

Ich bin es gewohnt zu benutzen title="" Attribut auf meinen Links/Buttons/… um sie zu detaillieren. Aber Bootstrap verwendet viele aria-label="" Attribute, aus Gründen der Zugänglichkeit, soweit ich das verstanden habe.

Also erstelle ich Schaltflächen wie:

<button
    id="show-raw-result"
    class="btn btn-default btn-sm btn-twigfiddle"
    title="Result was not easily readable so it has been automatically cleaned up, use this button to see the result raw"
    aria-label="Result was not easily readable so it has been automatically cleaned up, use this button to see the result raw">
    <span class="glyphicon glyphicon-asterisk"></span> Show raw result
</button>

Aber den Titel zu kopieren/einzufügen, um ein Arien-Label zu erstellen, sieht einfach hässlich aus. Welche soll ich wählen und warum?

ARIA-Tags werden für behinderte Besucher Ihrer Website verwendet. Es ist sehr nett von Bootstrap, dass sie es standardmäßig unterstützen.

Accessible Rich Internet Applications (ARIA) definiert Möglichkeiten, Webinhalte und Webanwendungen (insbesondere solche, die mit Ajax und JavaScript entwickelt wurden) für Menschen mit Behinderungen zugänglicher zu machen. Beispielsweise ermöglicht ARIA zugängliche Navigationspunkte, JavaScript-Widgets, Formularhinweise und Fehlermeldungen, Aktualisierungen von Live-Inhalten und mehr.

Quelle: https://developer.mozilla.org/en-US/docs/Web/Accessibility/ARIA

Um Ihre Frage zu beantworten, welche Sie verwenden sollten, verwenden Sie nur die title-Attribut. Denn dieses Attribut wird verwendet, wenn Sie mit der Maus über die Schaltfläche gehen und den Text von anzeigen title als Kurzinfo. Mit aria-label wird auf diese Weise nicht unterstützt.

  • Aber funktionieren Screenreader immer noch nur mit dem Titel?

    – Alain Tiemblo

    14. Januar 2015 um 22:29 Uhr

  • Kann dies leider nicht als neue Antwort hinzufügen, aber die aria-label Attribut sollte anstelle von verwendet werden title Attribut. Hier ist ein guter Artikel, der erklärt, warum, einschließlich einer Anmerkung, dass die title Attribut wird von einigen Screenreadern standardmäßig nicht vorgelesen: dev.opera.com/articles/ux-accessibility-aria-label/…

    – tagawa

    20. April 2015 um 6:09 Uhr

  • aria-label sollte in Verbindung mit verwendet werden title Attribut. Arie für Screenreader und title Attribut für andere Personen, die mehr Informationen über die Aktion der Schaltfläche wünschen.

    – Adam

    27. November 2015 um 9:59 Uhr

  • Die Welt der Screenreader ist hinsichtlich ihrer Verarbeitung ziemlich fragmentiert title + aria-label + Ankertext, als ich das letzte Mal nachgesehen habe: Quelle 1, Quelle 2. Dies ist sehr bedauerlich für Menschen, die sich auf Screenreader verlassen, da sie sich so viele zusätzliche, redundante Inhalte anhören müssen.

    – thdoan

    27. Februar 2017 um 3:45 Uhr


  • Sie können sich nicht auf den Artikel von 2013 verlassen. Alles sollte auf aktuellen App-Versionen getestet werden.

    – Anario

    5. April 2018 um 14:18 Uhr

Um Screenreader und auch einen Tooltip zu unterstützen, verwenden Sie sowohl das aria-label- als auch das title-Attribut.

Wenn Sie den Tooltip nicht benötigen, verwenden Sie aria-label, da dies die bevorzugte Wahl für die Unterstützung der Barrierefreiheit ist.

Bitte überprüfen Sie die folgende Rangfolge gemäß der Website der W3C.org Web Accessibility Initiative:

  • <label for="reference-id for labelled form-element" class="visuallyhidden">
  • <form-element aria-label="label for the form-element">
  • <form-element aria-labelledby="reference-id's for label-element">
  • <form-element aria-describedby="reference-id's for descriptive-element">
  • <form-element title="description for the element">

Die ausschließliche Verwendung des Title-Tags wird weder empfohlen noch von allen Screenreadern unterstützt. Tatsächlich können viele Screenreader den Titel-Tag nicht fokussieren, sodass er über die Tastatursteuerung nicht zugänglich ist, und überspringen daher das Lesen des Inhalts.

Beschriftungssteuerung
https://www.w3.org/WAI/tutorials/forms/labels/

Ansatz 4: Verwendung des title-Attributs

Das Titelattribut kann auch verwendet werden, um Formularsteuerelemente zu identifizieren. Dieser Ansatz ist im Allgemeinen weniger zuverlässig und wird nicht empfohlen, da einige Screenreader und unterstützende Technologien das title-Attribut nicht als Ersatz für das label-Element interpretieren, möglicherweise weil das title-Attribut häufig verwendet wird, um unwesentliche Informationen bereitzustellen. Die Informationen des Titelattributs werden visuellen Benutzern als Tooltip angezeigt, wenn sie mit der Maus über das Formularfeld fahren.

IMHO sollten Sie den Button nicht separat mit aria-labelledby beschriften müssen, da das Buttons-Element bereits “(Icon hidden by CSS !?) Show raw result” lautet, was IMHO bereits ausreichend verständlich ist.

Es wäre wahrscheinlich besser, das unter dem folgenden Link verfügbare grundlegende Beispiel des WAI für aria-described zu erweitern, was für Ihr Beispiel Folgendes ergibt:

Verwenden der Eigenschaft aria-describedby, um eine beschreibende Bezeichnung für Steuerelemente der Benutzeroberfläche bereitzustellen
https://www.w3.org/WAI/WCAG21/Techniques/aria/ARIA1

<button
    id="show-raw-result"
    class="btn btn-default btn-sm btn-twigfiddle"
    title="Result was not easily readable so it has been automatically cleaned up, use this button to see the result raw"
    aria-describedby="description-raw-result"
    <span class="glyphicon glyphicon-asterisk"></span> Show raw result
</button>

...

<div id="description-raw-result">Result was not easily readable so it has been automatically cleaned up, use this button to see the result raw</div>

Bitte beachten Sie, dass es unter Beispiel 4 auch ein ausführlicheres Beispiel mit Tooltips gibt, aber es erfordert, dass Sie auch die JavaScript-Funktion showTooltip() implementieren. Es bleibt also Ihnen überlassen, ob Sie weiterhin das title-Attribut für den Tooltip verwenden oder den beschreibenden Text lieber als Tooltip mit den folgenden beiden Event-Handlern anzeigen möchten:

onmouseover="tooltipShow(event, this, 'description-raw-result');"
onfocus="tooltipShow(event, this, 'description-raw-result');"

Leider gibt es meines Wissens keine Abkürzung für die Anzeige von Tooltips, die Referenzen wie das Attribut aria-describedby verwenden können.

1311580cookie-checkWas ist der Unterschied zwischen aria-label- und title-Attributen?

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy