accesskey-attribut
Silktide hittar element som deklarerar en accesskey, ett äldre sätt att ge ett element ett eget kortkommando. Dessa kortkommandon är alltid aktiva och kan inte stängas av av besökaren, vilket orsakar fler problem än de löser.
Varför detta är viktigt
Attributet accesskey i skapar ett kortkommando med ett
enda tecken som aktiveras varje gång tangenten trycks ned. Det krockar med hur
många redan använder tangentbordet:
användare av och webbläsare reserverar
överlappande tangentkombinationer, så en accesskey kan i det tysta åsidosätta ett kortkommando
som någon är beroende av – och vilken tangentkombination som aktiverar det varierar beroende på webbläsare
och operativsystem. Personer som skriver med talinmatning eller har nedsatt fingerfärdighet
kan också aktivera kortkommandot av misstag.
framgångskriterium 2.1.4 (Kortkommandon med tecken,
nivå A) kräver att kortkommandon med ett enda tecken kan stängas av,
ändras eller endast aktiveras när elementet har
. Ett accesskey uppfyller
inte något av detta: det är alltid aktiverat, och endast webbplatsen kan ändra det.
Så åtgärdar du problemet
- Ta bort attributet
accesskey. Det ger sällan något verkligt värde, och när det tas bort förändras inget synligt på sidan.
<!-- Alltid aktivt kortkommando som kan krocka med användarens eget -->
<a href="/search" accesskey="s">Search</a>
<!-- Korrigerat: en vanlig länk som kan nås med Tab, precis som allt annat -->
<a href="/search">Search</a>
- Om du verkligen behöver kortkommandon ska du implementera dem så att besökaren kan stänga av eller ändra dem, eller så att de endast gäller när det relevanta kontrollelementet har fokus.
Så testar Silktide detta
- Hitta varje element i sidans HTML som deklarerar ett
accesskey- attribut med ett icke-tomt värde. - Rapportera varje sådant element. Tomma värden (
accesskey="") ignoreras, eftersom vissa komponentbibliotek återger attributet som en åtgärd utan effekt och det inte skapar något kortkommando.
Felsökning
Vi lade till accesskeys för att förbättra tillgängligheten
Det var en gång ett rekommenderat råd, men erfarenheten visade att konflikterna med webbläsares och kortkommandon väger tyngre än nyttan, och modern vägledning rekommenderar att attributet undviks. Välstrukturerade sidor med bra rubriker och landmärken hjälper tangentbordsanvändare bättre.
Kortkommandon implementerade i JavaScript
Den här kontrollen omfattar endast attributet accesskey. Kortkommandon som implementeras i
kod omfattas av
Teckenbaserade kortkommandon; de två kontrollerna är
kompletterande och kan båda visas på samma sida.