aria-selected
Anger att ett objekt inuti en en- eller flervalsbehållare är markerat. Används på tab, option, gridcell, treeitem och liknande roller. Skiljer sig från aria-checked (kryssruta/radio) och aria-pressed (växelknapp).
När du ska använda det
På objekt som tillhör en behållare med en markeringsmodell:
role="tab"inuti entablist(exakt ett markerat).role="option"inuti enlistbox(ett eller flera, beroende påaria-multiselectable).role="treeitem"inuti etttree.role="gridcell",role="row",role="columnheader",role="rowheader"inuti ettgrid.
Tillståndet beskriver relationen mellan objektet och behållarens markering — inte ett fristående på/av som en kryssruta. Välj rätt tillstånd för mönstret:
aria-selected— objekt i en flik-, option-, träd- eller grid-kontext.aria-checked— kryssrutor och radioknappar (oberoende val).aria-pressed— växelknappar (knappen själv är på eller av).
Ett vanligt misstag är att sätta aria-selected="true" på en <button> för att betyda “användaren klickade senast på mig”. Om elementet inte är en del av en välj-widget, använd aria-pressed eller aria-current i stället.
Hur du håller det synkroniserat
Giltiga värden är "true" och "false". Rendera "false" på omarkerade objekt i stället för att utelämna attributet — hjälpmedlet annonserar då korrekt positionsinformation i stil med “1 av 5”. I en en-valdswidget (tablist, en-valds listbox) ska exakt ett objekt åt gången vara "true".
Attributet måste ändras i takt med den visuella indikatorn och fokushanteringen. I en tablist flyttar val vanligtvis också tabindex="0" till den valda fliken och tabindex="-1" bort från de övriga.
Vanliga fel
- Att använda
aria-selectedpå en knapp eller länk utanför en välj-widget. - Flera
aria-selected="true"-objekt i en en-valds tablist eller listbox. - Att glömma att sätta
aria-selected="false"på det tidigare markerade objektet när markeringen flyttas. - Att styla ett “markerat” utseende via CSS utan att växla attributet.
- Att förväxla
aria-selectedmedaria-checkedpå listbox-alternativ (alltidselected) eller medaria-currentpå en navigeringslänk (current, inteselected). - Att sätta
aria-selectedpårole="menuitem"— menyobjekt stöder det inte; användaria-checkedför menykryssrutor/radioalternativ.
Exempel
<div role="tablist" aria-label="Sections">
<button role="tab" id="tab-1" aria-selected="true" tabindex="0" aria-controls="panel-1">Overview</button>
<button role="tab" id="tab-2" aria-selected="false" tabindex="-1" aria-controls="panel-2">Details</button>
<button role="tab" id="tab-3" aria-selected="false" tabindex="-1" aria-controls="panel-3">Reviews</button>
</div>