ich eine Definitionsliste, wo eines der Elemente ändern können:lesen Label aria-live Region
// Update dynamic content
setInterval(function() {
document.getElementById('dynamic-info').textContent++;
}, 3000);
<dl>
<dt>Static information</dt>
<dd>Value 1</dd>
<dt>Static information 2</dt>
<dd>Value 2</dd>
<dt id="dynamic-info-def">Dynamic number</dt>
<dd id="dynamic-info" aria-live="polite" aria-labelledby="dynamic-info-def">1</dd>
</dl>
ich aria-live
auf den Inhalt gelegt haben, weil es braucht, um gelesen werden ein Screenreader, der funktioniert, aber nur die Nummer wird gelesen. Es muss "Dynamische Nummer: 2" sagen, damit der Benutzer den Kontext hat.
Ich kann aria-live
nicht auf die <dl>
setzen, weil das zu viel Inhalt zu lesen wäre. Ich habe versucht, ein Wrapper div um das letzte dt/dd
Paar, aber das ist illegal HTML.
Ich versuchte mit aria-labelledby
(siehe oben), aber das hatte keine Wirkung (in Chrome mit VoiceOver).
Wie kann ich eine Live-Region dazu bringen, zugehörige Inhalte zu lesen?