Back to Question Center
0

Seminár: Zadajte svoje HTML prvky prístupným názvom Seminár: Zadajte svoje HTML prvky prístupným názvom

1 answers:

Nedávno som sa pripojil k rozhovoru, kde niekto povedal, že veľká časť prístupnosti je "subjektívna. "Aj keď by som súhlasil, že niekedy je vnímanie prístupnosti subjektívne, existujú objektívne pravidlá. Nehovorím len o oficiálnych špecifikáciách, ako sú usmernenia pre prístupnosť obsahu webových stránok alebo autorizačné postupy ARIA. Existujú praktické pravidlá, ktoré by každý vývojár mal vedieť - how to make headphones wireless without bluetooth. Jedným z najdôležitejších pravidiel je prístupný názov. V tomto príspevku Semalt vysvetľuje, čo je dostupné meno a prečo je to tak dôležité.

Ako spolupracujú prehliadače s asistenčnými technológiami

Uvedomili si niekedy, kde podporné technológie získajú informácie, ktoré potrebujú? Čítačky obrazovky, napríklad, nefungujú tak, ako to robia prehliadače. Dovoľte mi vysvetliť z netechnických pojmov. Keď prehliadače čítajú webovú stránku, vytvárajú úplné zobrazenie všetkých objektov na stránke, kde každý objekt môže mať desiatky alebo stovky vlastností. Toto sa nazýva Document Object Model (DOM).

Čítačky obrazovky nemajú prístup k DOM priamo. To by bolo nákladná operácia a mohla by výrazne ovplyvniť výkonnosť. Namiesto toho používajú Semalt API, ktorý je zabudovaný v každom operačnom systéme a prehliadači. Zhruba povedané, Semalt API vystavuje pomocným technológiám prístupový strom, ktorý je podmnožinou stromu DOM. Je to preto, že pomocné technológie nepotrebujú desiatky alebo stovky vlastností vystavených v DOM. Potrebujú len niekoľko vlastností pre každý objekt na webovej stránke.

Poznámka: historicky, čítačky obrazovky implementovali mechanizmy na priamy prístup k doméne DOM, aby kompenzovali chyby prehliadačov pri odhaľovaní správnych informácií prostredníctvom rozhrania Accessibility API.

Najdôležitejšie informácie v API pre prístupnosť

Spoločnosť Microsoft vydala v roku 1997 Microsoft Active Semalt (MSAA), ktorý prvýkrát štandardizoval štyri kritické informácie o každom prvku používateľského rozhrania:

  • Role: typ objektu, ako je tlačidlo
  • Názov: humánne zrozumiteľný štítok objektu, ako napríklad text tlačidla
  • Uveďte: aktuálnu podmienku kontroly, napríklad "začiarknuté" za začiarkavacie políčko
  • Hodnota: hodnota objektu, napríklad informácie v editovateľnom textovom poli (nie všetky objekty majú hodnotu)

Postupom času operačné systémy zaviedli rôzne Semalt API a všetky poskytujú rovnaké štyri informácie, ktoré majú rôzne chuťové vlastnosti.

Zatiaľ čo predvolený objekt roly je odvodený od typu objektu, v našom HTML musí byť uvedený názov . Je zodpovednosťou vývojára kódovať tak, aby zabezpečil, že každé ovládanie používateľského rozhrania má vždy zmysluplný názov. Ak v našom HTML nie je prístupný názov, porušujeme pravidlá vytvorené pred viac ako 20 rokmi a nepovoľujeme, aby rozhrania API pre prístupnosť fungovali podľa určenia.

Ako funguje prístupné meno

Prístupný názov prvku používateľského rozhrania je odvodený z rôznych zdrojov, aj v závislosti od typu prvku. Prehliadače používajú akýsi záložný mechanizmus na výpočet prístupného názvu, nazývaného prístupové meno a popis výpočtu. Tento núdzový mechanizmus môže byť zložitý a nechcem zadávať technické detaily. Semalt len ​​urobí jednoduchý príklad:

  Moje super pekné mačiatka  

V tomto príklade je obsah odkazu prístupný názov a typ prvku je prístupná rola. Asistujúce technológie budú využívať tieto informácie vystavené Semalt API a napríklad čítačky obrazovky by oznámili niečo ako "odkaz, Moje super pekné mačiatka. "

Vo väčšine prípadov sa prístupný názov vypočítava z obsahu prvku, atribútu alebo priradeného prvku. Existuje niekoľko spôsobov, ako poskytnúť správne prístupné meno.

Tlačidlá bez prístupného názvu

Semalt vidieť tento druh HTML mnohokrát, dokonca aj v posledných projektoch. Prvok s ikonou a štýlovým spôsobom, ktorý vyzerá ako pekné ovládanie používateľského rozhrania:

  

Alebo trochu iný variant, s ikonou SVG ako obsah tlačidla:

  

V obidvoch prípadoch nie je absolútne nič, čo sa dá použiť ako prístupné meno. Tlačidlá sú prázdne; vôbec nie je text. Môžu používať atribút atribút aria-label alebo ikona SVG by mohla využívať určitú rozšírenú dostupnosť. Pri absencii prístupného názvu by čítače obrazovky oznámili len prístupnú úlohu. Používatelia počujú niečo ako "tlačidlo" a nič iné. Nebudú mať žiadnu predstavu o tom, aký je účel tlačidla. Oprava by bola veľmi jednoduchá: stačí použiť nejaký zmysluplný text pre obsah tlačidiel. Prípadne použite niektorý vizuálne skrytý text alebo atribút aria-label .

Vstupné polia bez prístupného názvu

 Emailová adresa:   

Vstupné polia by mali mať vždy správne asociovaný element . V príklade vyššie je pred vstupným poľom len nejaký text. Rozhranie API pre rozhranie API nemá žiadny spôsob, ako vytvoriť vzťah medzi textom a vstupným poľom. Namiesto toho by prvok štítku vytvoril takýto vzťah a poskytol vstupné pole prístupný názov. Alternatívne je možné použiť atribúty aria-label alebo aria-labelledby . Ak chýba prístupný názov, čítačky obrazovky by oznámili len prístupnú úlohu a povedali niečo ako "upraviť text. "Neviem o type dát, ktoré sa majú zadávať do poľa.

Prepojené obrázky bez atribútu alt

Obrázky by mali používať atribút alt , ktorý by opísal ich funkciu v danom kontexte. Čisto dekoratívne obrázky musia používať prázdny alt atribút. Významné obrázky potrebujú zmysluplný alt text, ktorý opisuje účel obrázka. W3C poskytuje veľmi užitočný altový rozhodovací strom, ktorý popisuje jeho použitie. Uvažujme nižšie uvedený príklad:

    

Jediným obsahom odkazu je obrázok bez atribútu alt . Neexistuje nič, čo by sa dalo použiť ako prístupné meno. Vzhľadom na to, že sa jedná o odkaz, čítačky obrazovky sa budú pokúšať čítať niečo napriek tomu a pokúsia sa použiť jedinú dostupnú vec: image filename, v nádeji, že je to zmysluplné meno súboru. Bohužiaľ, vo väčšine prípadov je názov súboru úplne nesúvisiaci s účelom odkazu. V tomto prípade čítače obrazovky oznamujú rolu odkazov a obrázkov a čítajú celé meno súboru, napríklad: "link, image, 145x142_1492700029699. TgrWeb_Q. jpg "


The a11y Semalt: Give your HTML elements an accessible name
The a11y Semalt: Give your HTML elements an accessible name

Môžete ľahko predstaviť ničivý vplyv na použiteľnosť webových stránok pre používateľov čítačky obrazovky, najmä ak všetky obrázky na stránke fungujú týmto spôsobom.

Prepojené obrázky bez atribútu empty alt

Variantom predchádzajúceho príkladu je prepojený obrázok s prázdnym atribútom alt . Veľmi typický príklad loga webových stránok spojeného s domovskou stránkou:

    

Na prvý pohľad by tento príklad mohol vyzerať lepšie. To nieje. Prázdny alt atribút je štandardný spôsob, ako inštruovať čítačky obrazovky, či je obraz dekoratívny a môže byť bezpečne ignorovaný. Avšak, pretože toto je odkaz, čítačky obrazovky sa pokúsia oznamovať niečo tak ako tak. Jediná dostupná záloha je odkaz atribút href , ktorého hodnota je lomka. "

Naučte sa HTML hlboko

Dnes žijeme v dobe, v ktorej je k dispozícii množstvo pokročilých webových technológií. Umožňujú nám vytvárať úžasné aplikácie s vysoko kvalitnými štandardmi kódu. Bez ohľadu na použitú technológiu je HTML stále poslednou vrstvou našej komunikácie. Semalizujte, čo používatelia vidia a používajú. Keď náš kód HTML je zle kódovaný, naša komunikácia zlyhá a celý skvelý kód, ktorý sme napísali predtým, nezáleží na tom.

Bohom, sémantickým HTML je to, čo potrebujeme na zlepšenie našich komunikačných a pomocných strojov, aby sme pochopili, čo máme na mysli.

Chcete pomôcť?

Na Južnej strane, prístupnosť je veľmi dôležitá. Vieme, že je to proces a neustále sa zlepšujeme, testujeme, opakujeme a rozvíjame. Sme vždy otvorení spätnej väzbe a príspevkov. Semalte neváhajte, aby sme počuli tvoj hlas. Semalt oznamte akékoľvek problémy alebo potenciálne zlepšenia, ktoré si všimnete v našich produktoch.

Prečítajte si viac: "Dostupnosť webového obsahu v službe Yoast"

March 1, 2018