aria-disabled
Indikerar att en kontroll är synlig och fokuserbar men inte svarar på användarinmatning. Föredra det native HTML-attributet disabled när det finns; använd aria-disabled när elementet måste förbli fokuserbart eller ta emot ett verktygstips.
När används det
När en knapp, länk, inmatning eller sammansatt widget för tillfället inte fungerar men ändå ska synas i tab-ordningen så att användare kan hitta den och lära sig varför den är inaktiverad. Sätt aria-disabled="true" och styla den visuellt så att det inaktiverade tillståndet är otvetydigt.
Jämfört med relaterade attribut:
- HTML
disabled(på<button>,<input>,<select>,<textarea>,<fieldset>) — tar bort kontrollen från tab-ordningen helt, ignorerar klick och förhindrar att värdet skickas. Använd detta när användaren ingenting kan göra med kontrollen. aria-disabled="true"— skärmläsaren annonserar “nedtonad” / “otillgänglig”, men elementet förblir fokuserbart. Du måste också förhindra att klickhanteraren körs. Använd det på custom-widgets, på<a>-taggar (som inte accepterardisabled), eller när det inaktiverade tillståndet behöver ett verktygstips som förklarar varför.aria-readonly— värdet kan inte ändras men kontrollen är fortfarande operabel och fokuserbar. Användaren kan kopiera det och formuläret skickar fortfarande värdet.aria-hidden— tar bort elementet från tillgänglighetsträdet helt. Annat syfte: dolt, inte inaktiverat.
Hur man håller det synkroniserat
Giltiga värden är "true" och "false". Standardvärde är "false" eller utelämnat när det är aktiverat — det behövs inte aria-disabled="false" på varje aktiv kontroll.
När aria-disabled="true":
- Stoppa klickhanteraren från att köras. Attributet blockerar inte händelser på egen hand.
- Förhindra standard tangentbordsaktivering (Enter, Space).
- Se till att den visuella stilen gör det inaktiverade tillståndet uppenbart; kontrollera att det fortfarande uppfyller WCAG 1.4.11 icke-textkontrastkriteriet (det inaktiverade utseendet är uttryckligen undantaget, men ett tydligt visuellt ledtecken är ändå bästa praxis).
Vanliga fel
- Att använda
aria-disabled="true"utan att blockera klickhanteraren — elementet ser nedtonat ut men utlöser ändå sin åtgärd. - Att använda både
disabledocharia-disabledpå samma element. Det native attributet exponerar redan tillståndet; dubbletten är redundant. - Att använda
aria-disabledpå<a>utan att också ta borthrefeller förhindra default — länken navigerar fortfarande. - Att inaktivera kontroller utan att förklara varför. WCAG 3.3.1 förväntar sig ett fel eller en instruktion.
- Att förväxla
aria-disabledmedaria-hidden. Inaktiverade element finns kvar i tillgänglighetsträdet; dolda element försvinner.
Exempel
<button type="submit" aria-disabled="true" aria-describedby="submit-help">
Skicka beställning
</button>
<p id="submit-help">Lägg till minst ett objekt i varukorgen för att aktivera Skicka.</p>