Polja obrazca: Accessibility
Nazaj: predstavitveni pregled
Vsako polje obrazca nativno poveže oznako in gradnik prek label for. Ta stran zbira, kaj iz tega sledi za tipkovnico, bralnik zaslona in sporočila o napakah.
1. Pregled in namen
Stanje: [Live] – konsolidira smernice ARIA/oznak vseh osmih kategorij; jih ne ponavlja posebej po strani kategorije (načelo enotnega vira, tako kot pri DataGrid → Accessibility).
2. Predpogoji
skupna pogodba polj že razumljena.
3. Pojmi
Povezava oznake: vsako polje poveže <label for="…"> z id
kontrolnika – nativno, aria-labelledby ni potreben, dokler
obstaja vidna oznaka. Če label manjka (različice samo z ikono, npr.
čist gumb za brisanje), mora biti nastavljen ariaLabel – polje
brez obojega je kršitev specifikacije, ne dopusten robni primer.
4. Prvi koraki
Se ne uporablja – čista stran konsolidacije.
5. Uporaba
Za potrditev dostopnosti konkretnega polja: primerjati tabelo v odseku 6 z aktivnim stanjem (required/disabled/state).
6. API referenca: sporočanje stanja
| Stanje | ARIA | Velja za |
|---|---|---|
required | aria-required=„true“ poleg nativnega atributa required | vsako kategorijo |
disabled | nativni disabled pravilno impliciran (dodaten ARIA ni potreben) | vsako kategorijo |
state ⇒ 'error'/warning' | aria-invalid=„true“ pri error; stateText povezan s kontrolnikom prek aria-describedby | vsako kategorijo |
| Tristanjsko potrditveno polje | aria-checked=„mixed“ poleg lastnosti DOM indeterminate (ki je bralniki zaslona sami po sebi ne prepoznajo) | Check box |
| Odprto/zaprto pojavno okno spustnega seznama | aria-expanded na <summary> | Dropdown Editor |
| Progress Bar | aria-valuenow/aria-valuemin/aria-valuemax; pri indeterminate se aria-valuenow povsem izpusti (nikoli ga ne nastaviti na 0 – to bi sporočalo »0 % opravljeno« namesto »trajanje neznano«) | Progress Bar |
disabled
in readonly vsak svojo lastnost, ki je vidna tudi brez kazalca (prosojnost oziroma črtkan
rob), poleg tega pa se razlikujeta še med seboj, ker se obnašata različno (glejte
Polja obrazca: osnove).
V svetli in temni shemi se vsa tri stanja med seboj razlikujejo po ozadju, pisavi, barvi roba, vrsti roba in prosojnosti. Kontrast pisave je 14,07:1 v mirovanju, 11,45:1 pri polju samo za branje in 5,17:1 pri onemogočenem polju – slednje, čeprav WCAG neaktivne kontrolnike izvzema iz zahteve po kontrastu.
7. Parametri, možnosti in stanja: tipkovnica
Vsak kontrolnik je nativen HTML-element obrazca – vrstni red tabulatorja
in vedenje preslednice/puščic pri potrditvenem polju/radijskem
gumbu/spustnem seznamu pridejo brezplačno od brskalnika (načelo:
nobeno polje ne obnavlja lastnega motorja tipkovnice). Skripti
postopnega izboljšanja (pojavno okno spustnega seznama, filtriv combo
box) morata to nativno upravljanje s tipkovnico ohraniti, ne
nadomestiti – Escape zapre odprto pojavno okno, ne da bi izgubil
fokus; puščice krmarijo le znotraj odprtega pojavnega okna, dodatno k
nativnemu vrstnemu redu tabulatorja.
8. Popolni primeri
Se ne uporablja – čista referenčna tabela, brez izvedljivega primera.
9. Omejitve in robni primeri
Povezava aria-describedby med stateText/hint in
kontrolnikom (odsek 6) je [Live] in tu velja brezpogojno – za
razliko od
propertyGrid(),
kjer ista povezava (controlId) učinkuje le pri natanko enem
ujemanju HTML v controlHtml, ki ga zgradi klicatelj. Razlika je v
tem, da polje obrazca samo izriše svoj kontrolnik (ni HTML-ja klicatelja
za pregledovanje) – povezava je zato mogoča brez tamkajšnjega
varnostnega pogoja.
10. Dostopnost in združljivost
Ta stran je pregled dostopnosti – podrobnosti v odsekih 6/7.
11. Odpravljanje težav
Se ne uporablja.
12. Sorodne teme
- predstavitveni pregled – vsaka kategorija
- DataGrid: accessibility – enak vzorec konsolidacije pri DataGridu
- Vertical Grid: osnove – že izveden vzorec
controlIdkot vzor