Ich entwickle eine mobile Web App und teste sie auf Barrierefreiheit. Ich habe einige Kontrollkästchen gefunden, die nicht überprüft werden können, wenn TalkBack unter Android (mit "Explore by Touch" aktiviert) oder VoiceOver unter iOS verwendet wird.Zentriert Checkbox nicht überprüfbar bei Verwendung von TalkBack oder VoiceOver
Das Problem ist, dass wir das tatsächliche Kontrollkästchen "ausblenden" und der Benutzer sieht und interagiert mit einem formatierten Etikett, das aussieht und sich wie ein Kontrollkästchen verhält.
Dies ist Teil der CSS, die das eigentliche Kontrollkästchen versteckt: (. Siehe auch auf JSFiddle)
.input-tick {
position: absolute;
left: -999em;
Hier ist die vollständige HTML und CSS Beispiel
.input-tick {
position: absolute;
left: -999em;
}
.input-tick[disabled] + label {
cursor: not-allowed;
opacity: 0.5;
}
.input-tick[type="checkbox"]:checked + label::after {
border: 3px solid;
border-right: none;
border-top: none;
content: "";
height: 10px;
left: 4px;
position: absolute;
top: 4px;
width: 14px;
transform: rotate(-55deg);
}
.input-tick[type="radio"] + label::before {
border-radius: 100%;
}
.input-tick + label {
cursor: pointer;
font-size: 14px;
margin-bottom: 0;
position: relative;
}
.input-tick + label::before {
border: 2px solid #000;
content: "";
display: inline-block;
height: 22px;
margin-right: 0.5em;
vertical-align: -6px;
width: 22px;
}
.input-tick + label:not(.checkbox):not(.block-label) {
display: inline-block;
}
.center {
text-align: center;
}
<div class="center">
<input type="checkbox" class="input-tick" id="agree-to-terms" name="agree-to-terms">
<label for="agree-to-terms">
I agree
</label>
</div>
TalkBack und VoiceOver versuchen, sowohl das ausgeblendete Kontrollkästchen als auch das Etikett zu umschreiben:
Wenn Voiceover und Talkback versuchen, „klicken Sie auf“ das Kontrollkästchen, die x- und y-Koordinaten des Klicks sind in der Mitte der Box, die das Kontrollkästchen und das Etikett zu skizzieren versucht. Dieser Klick befindet sich außerhalb der Beschriftung für das Kontrollkästchen, sodass das Kontrollkästchen nicht aktiviert wird.
Gibt es eine Möglichkeit, mit VoiceOver und TalkBack nur mit dem Label umzugehen? Irgendeine andere Möglichkeit, das zu beheben?
möchten vielleicht ein paar Tags hinzuzufügen , weiß nicht, was sie sein würden, aber mehr mobile Tags könnten helfen, jemanden zu finden, der weiß, –