Naar inhoud springen
SilktideHelp

Ontbrekende ARIA-onderliggende rol

Silktide controleert containerwidgets die met ARIA-rollen zijn gebouwd, zoals tabbladenbalken, menu's en keuzelijsten, en controleert of elke widget het soort items bevat dat deze hoort te bevatten. Een tabbladenbalk zonder tabbladen of een menu zonder menu-items wordt aangekondigd als widget, maar biedt niets om te bedienen.

<!-- Probleem: een tablist moet elementen met role="tab" bevatten -->
<div role="tablist">
  <button>Overzicht</button>
</div>

<!-- Oplossing: geef de onderliggende elementen hun vereiste rol -->
<div role="tablist">
  <button role="tab">Overzicht</button>
</div>

Waarom dit belangrijk is

Samengestelde -rollen beschrijven een widget als geheel: tablist belooft tabbladen, listbox belooft opties en menu belooft menu-items. schakelen voor deze widgets over op gespecialiseerde navigatie en verwachten de beloofde onderliggende elementen. Wanneer de onderliggende elementen hun rollen missen, kondigt de widget zichzelf aan en gedraagt deze zich vervolgens als een lege huls: gebruikers kunnen de widget bereiken, maar vinden niets erin, terwijl ziende gebruikers een volledig werkende bediening zien.

Hoe je dit oplost

  1. Voeg de vereiste rol toe aan elk item in de container, bijvoorbeeld role="tab" aan elke bediening binnen een role="tablist".
  2. Als de items elders in de code moeten staan, verbind je ze met aria-owns op de container.
  3. Als de container niet echt zo'n soort widget is, verwijder of corrigeer dan de rol.

Veelvoorkomende combinaties: tablist heeft tab nodig; listbox heeft option nodig; menu en menubar hebben menuitem nodig (of de varianten voor selectievakjes en keuzerondjes); radiogroup heeft radio nodig; tree heeft treeitem nodig; grid en table hebben row nodig; row heeft cellen of koppen nodig.

Hoe Silktide dit controleert

  1. Zoek elk element waarvan de ARIA-rol specifieke onderliggende rollen vereist.
  2. Zoek in de afstammelingen ervan, inclusief elementen die met aria-owns zijn overgenomen, naar ten minste één element met een vereiste onderliggende rol.
  3. Rapporteer containers waarin geen dergelijk element wordt gevonden.

Problemen oplossen

De items worden later door een script geladen

Silktide controleert de pagina terwijl deze wordt geladen. Als een keuzelijst of menu alleen op aanvraag wordt gevuld, wordt deze tot dat moment als leeg aangekondigd; geef waar mogelijk ten minste de eerste items mee wanneer de pagina wordt weergegeven.

Deze controle rapporteert niets, hoewel ik resultaten verwacht

ARIA-tests kunnen per website worden uitgeschakeld. Controleer de geavanceerde instellingen voor de website.

Meer informatie

Laatst bijgewerkt

Was deze pagina nuttig?

Ontbrekende ARIA-onderliggende rol | Silktide Help