2017-10-10 4 views
0

Ich versuche ngAria zu implementieren - haben es in meinem Modul injiziert werden, haben folgende htmlnicht zu sehen erwartet Aria Tags

First Name: <input role="textbox" type="text" ng-model="firstName" aria-label="First Name" required><br> 

Employee: <input role="checkbox" type="checkbox" ng-model="isEmployee" arial-label="Employee" required> 

Ich hatte erwartet, um zu sehen, ngAria hinzufügen aria-required, aria-geprüft und tabindex aber es fügt nur aria-invalid hinzu. Ist mein Verständnis von ngAria falsch?

"<input role="textbox" type="text" ng-model="firstName" aria-label="First Name" required="" class="ng-pristine ng-untouched ng-empty ng-invalid ng-invalid-required" aria-invalid="true">" 

    "<input role="checkbox" type="checkbox" ng-model="isEmployee" arial-label="Employee" required="" class="ng-not-empty ng-dirty ng-valid-parse ng-valid ng-valid-required ng-touched" aria-invalid="false">" 

Antwort

0

NgAria injiziert automatisch ARIA-Attribute für (einige) Standard-Angular-Direktiven. Beispiel: Wenn Sie ng-disabled auf ein Element setzen, wird zur Laufzeit aria-disabled injiziert.

In Ihrem Fall:

NgAria spritzt das aria-required Attribut nur, wenn Sie ng-required auf Ihrer Eingabe hinzufügen. (Übrigens:.. Es spielt keine Rolle, ob Sie required oder aria-required auf Ihrem Element setzen beide den gleichen Effekt auf dem Bildschirm Leser So sind Ihre Eingaben bereits markiert korrekt nach Bedarf)

Das tabindex Attribut wird nur sein wird automatisch gesetzt, wenn Sie die ng-click Direktive standardmäßig auf ein nicht anklickbares Element setzen. Zum Beispiel: div oder span.

aria-invalid wird wegen der ng-Modell-Anweisung auf das Element gesetzt.

Eine detaillierte Übersicht über die unterstützten Direktiven und die zugehörigen ARIA-Attribute finden Sie unter https://docs.angularjs.org/api/ngAria

Verwandte Themen