Element: ariaDescribedByElements-Eigenschaft

Baseline 2025
Newly available

Since April 2025, this feature works across the latest devices and browser versions. This feature might not work in older devices or browsers.

Die ariaDescribedByElements-Eigenschaft der Element-Schnittstelle ist ein Array, das das bzw. die Elemente enthält, die eine zugängliche Beschreibung für das Element bereitstellen, auf das sie angewendet wird. Die zugängliche Beschreibung ist ähnlich wie das zugängliche Label (siehe ariaLabelledByElements), bietet jedoch ausführlichere Informationen.

Das Thema aria-describedby enthält zusätzliche Informationen darüber, wie das Attribut und die Eigenschaft verwendet werden sollten.

Wert

Ein Array von Subklassen von HTMLElement. Der innere Text dieser Elemente kann mit Leerzeichen verbunden werden, um die zugängliche Beschreibung zu erhalten.

Beim Lesen ist das zurückgegebene Array statisch und schreibgeschützt. Beim Schreiben wird das zugewiesene Array kopiert: Nachfolgende Änderungen am Array beeinflussen den Wert der Eigenschaft nicht.

Beschreibung

Die Eigenschaft ist eine flexible Alternative zur Verwendung des aria-describedby-Attributs, um die zugängliche Beschreibung festzulegen. Im Gegensatz zu aria-describedby müssen die dieser Eigenschaft zugewiesenen Elemente kein id-Attribut haben.

Die Eigenschaft spiegelt das aria-describedby-Attribut des Elements wider, wenn es definiert ist, jedoch nur für aufgeführte Referenz-id-Werte, die gültigen In-Scope-Elementen entsprechen. Wenn die Eigenschaft gesetzt wird, wird das entsprechende Attribut geleert. Weitere Informationen zu reflektierten Elementreferenzen und dem Scope finden Sie unter Reflected element references im Reflected attributes-Leitfaden.

Beispiele

Abrufen der zugänglichen Beschreibung

Dieses Beispiel zeigt, wie ariaDescribedByElements verwendet werden kann, um die mit aria-describedby definierte zugängliche Beschreibung abzurufen.

HTML

Das HTML definiert zwei <span>-Elemente und referenziert deren IDs im aria-describedby-Attribut eines <button>.

html
<button aria-describedby="trash-desc1 trash-desc2">Move to trash</button>
…
<span id="trash-desc1">Trash will be permanently removed after 30 days.</span>
<span id="trash-desc2">Or Else!</span>

CSS

Hier verbergen wir einfach die <span>-Elemente, die unseren zugänglichen Text enthalten.

css
span {
  display: none;
}

JavaScript

Der folgende Code protokolliert zuerst den Wert des aria-describedby-Attributs von Element.getAttribute() (ein String, der die id-Werte der referenzierten Elemente auflistet). Anschließend wird überprüft, ob ariaDescribedByElements unterstützt wird, und falls ja, wird sein Wert protokolliert. Schließlich wird der zugängliche String zurückgegeben, der durch Iterieren über die zurückgegebenen Elemente und Verketten ihrer inneren Texte berechnet wird.

js
const buttonElement = document.querySelector("button");
log(`aria-describedby: ${buttonElement.getAttribute("aria-describedby")}`);
// Feature test for ariaDescribedByElements
if ("ariaDescribedByElements" in Element.prototype) {
  // Get ariaDescribedByElements
  const buttonElements = buttonElement.ariaDescribedByElements;
  log(`ariaDescribedByElements: ${buttonElements}`);

  // Accessible description from the elements
  const text = buttonElements.map((e) => e.textContent.trim()).join(" ");
  log(`Accessible description: ${text.trim()}`);
} else {
  log("element.ariaDescribedByElements: not supported by browser");
}

Ergebnis

Das folgende Protokoll zeigt die ursprünglichen Elementreferenzen, die zugeordneten/zurückgegebenen Elemente und die zugängliche Beschreibung.

Spezifikationen

Specification
Accessible Rich Internet Applications (WAI-ARIA)
# dom-ariamixin-ariadescribedbyelements

Browser-Kompatibilität

Siehe auch