Aksesueshmëri
Lidhja e kapërcimit te përmbajtja
Lidhja e parë e faqes që lejon kalimin drejt e te përmbajtja, pa kaluar nëpër gjithë menunë.
Çfarë është
Lidhja e kapërcimit (*skip link*) është zakonisht lidhja e parë në dokument. Ajo tregon te fillimi i përmbajtjes kryesore dhe lejon kalimin e menusë me një shtypje të vetme.
Në pamje ajo është e fshehur derisa të marrë fokusin; sapo përdoruesi shtyp Tab herën e parë, ajo shfaqet.
Kjo teknikë ekziston sepse lundrimi me tastierë është linear: Tab kalon nga elementi në element sipas rendit të dokumentit. Pa një kapërcim, çdo faqe e re fillon me tridhjetë shtypje Tab nëpër të njëjtën menu.
Pse ka rëndësi
Pa këtë lidhje, një përdorues që lundron vetëm me tastierë — për shkak të një dëmtimi motorik, ose sepse përdor lexues ekrani — duhet ta kalojë gjithë navigimin në çdo faqe. Në një sajt me menu të madhe, kjo është dhjetëra shtypje për çdo klikim.
Efekti shtohet: nëse vizitori sheh pesë faqe, ai e ka kaluar menunë pesë herë. Për një detyrë të thjeshtë kjo e bën sajtin të papërdorshëm në praktikë, edhe pse teknikisht gjithçka punon.
Kjo lidhje kushton tri rreshta kod dhe nuk prek asnjë përdorues tjetër, sepse rri e fshehur. Është ndërhyrja me raportin më të mirë kosto/përfitim në gjithë aksesueshmërinë.
Gabimi më i shpeshtë nuk është mungesa — është një lidhje kapërcimi që tregon te një id që nuk ekziston më pas një rishkrimi të shabllonit.
Si rregullohet
<body>
<a class="kaperce" href="#permbajtja">Kapërce te përmbajtja</a>
<header>…</header>
<main id="permbajtja" tabindex="-1">…</main>.kaperce {
position: absolute; left: -9999px;
}
.kaperce:focus {
position: static; /* ose një pozicion i dukshëm në krye */
}Hapat:
- Duhet të jetë elementi i parë i fokusueshëm në dokument.
- Mos e fsheh me `display: none` ose `visibility: hidden` — ato e heqin nga rendi i fokusit dhe e bëjnë të paarritshme.
- Shto `tabindex="-1"` te objektivi që fokusi të kalojë vërtet aty në të gjithë shfletuesit.
- Verifiko që `id`-ja ekziston. Testoje duke shtypur
Tabmenjëherë pas ngarkimit. - Në sajte me menu shumë të mëdha, shto edhe një kapërcim te kërkimi ose te fundfaqja.
Si e mat ky mjet
AccessibilityAnalyzer::checkSkipLink() (services/AccessibilityAnalyzer.php:189) kërkon çdo <a> ku href përmban #main ose #content, ose ku klasa përmban skip (:192). Dy dalje: gjendet së paku një (:196, kaluar), asnjë (:198, informativ).
Çfarë NUK e mat
Kërkimi mbështetet te emërtime angleze: #main, #content, ose klasa me skip. Një lidhje kapërcimi krejt e saktë me href="#permbajtja" dhe klasë kaperce — pra e shkruar shqip — nuk zbulohet fare dhe faqja raportohet si pa të.
Nuk kontrollohet asnjë nga tri kushtet që e bëjnë lidhjen të punojë: nëse ajo është elementi i parë i fokusueshëm, nëse id-ja e synuar ekziston vërtet, dhe nëse lidhja bëhet e dukshme kur merr fokusin. Një lidhje e fshehur me display: none — pra krejt e papërdorshme — kalon si e rregullt.
Çdo lidhje e brendshme që rastësisht tregon te #content numërohet si lidhje kapërcimi.
Mospërputhje midis tekstit të analizuesit dhe matjes
| Teksti i analizuesit | Çfarë ndodh | Si u mat | Burimi |
|---|---|---|---|
| No skip navigation link | Kërkohen #main, #content ose klasë me 'skip'. Një lidhje e saktë me href=#permbajtja dhe klasë 'kaperce' nuk zbulohet. | Pyetja XPath te :192 përmban vetëm ato tri modele. — matur gjatë 5.10 | services/AccessibilityAnalyzer.php:192 |
Kodi që e kryen matjen
services/AccessibilityAnalyzer.php:189— AccessibilityAnalyzer::checkSkipLinkservices/AccessibilityAnalyzer.php:192— skipLinks