2016-11-04 3 views
0

Bildschirmlese Lesen dieses div nicht:Wie macht der NVDA Bildschirmleser das Aria-Label?

<div tabindex="7" aria-label="Here be redundant or extraneous content" > 

Es sollte „Hier redundant oder fremde Inhalte“ lesen

Jede Hilfe, wie mit HTML, dieses Problem zu lösen?

+0

Um Ihnen eine gute Antwort zu geben, könnte es uns helfen, wenn Sie einen Blick auf [fragen] haben, falls Sie es nicht bereits getan haben. Es könnte auch nützlich sein, wenn Sie ein [mcve] bereitstellen könnten. – Mat

+1

Die Verwendung positiver Werte für Tabindex wird abgeraten. –

Antwort

0

Ein div ist weder Orientierungspunkt noch interaktiver Inhalt. Ein aria-label wird von einem Screenreader nicht gelesen (und das zu Recht).

Verwenden Sie einen Off-Screen-Technik:

<div class="sr-only"> 
Here be redundant or extraneous content 
</div> 

Die CSS könnte wie folgt aussehen (Buchhaltung für RTL Sprachen auch):

.SRonly { 
    position: absolute !important; 
    clip: rect(1px 1px 1px 1px); /* IE6, IE7 */ 
    clip: rect(1px, 1px, 1px, 1px); 
    top: auto; 
    left: -9999px; 
    width: 1px; 
    height: 1px; 
    overflow: hidden; 
} 

html[dir=rtl] .SRonly { 
    left: inherit; 
    left: unset; 
    right: -9999px; 
} 

There are other techniques, aber ihr Wert hängt von Ihrem Publikum und seine Technologieprofil.

Weiter, never use a positive tabindex value. Und never use a div as interactive content (was die Tab-Stop impliziert ist deine Absicht).

In Zukunft wird Ihre Frage möglicherweise mehr Aufmerksamkeit erhalten, wenn Sie ein Beispiel und eine Beschreibung der Aufgabe angeben, die Sie lösen möchten.

Verwandte Themen