Neidio i'r cynnwys
SilktideCymorth

Rôl plentyn ARIA ar goll

Mae Silktide yn gwirio teclynnau cynhwysydd a grëwyd â rolau ARIA, megis stribedi tabiau, dewislenni a blychau rhestr, ac yn cadarnhau bod pob un yn cynnwys y math o eitemau y dylai eu cynnwys. Caiff stribed tabiau heb dabiau, neu ddewislen heb eitemau dewislen, ei gyhoeddi fel teclyn ond nid yw'n cynnig dim i'w weithredu.

<!-- Problem: a tablist must contain elements with role="tab" -->
<div role="tablist">
  <button>Overview</button>
</div>

<!-- Fix: give the children their required role -->
<div role="tablist">
  <button role="tab">Overview</button>
</div>

Pam mae hyn yn bwysig

Mae rolau cyfansawdd yn disgrifio teclyn yn ei gyfanrwydd: mae tablist yn addo tabiau, mae listbox yn addo opsiynau, mae menu yn addo eitemau dewislen. Mae yn newid i lywio arbenigol ar gyfer y teclynnau hyn, gan ddisgwyl y plant a addawyd. Pan nad oes gan y plant eu rolau, mae'r teclyn yn cyhoeddi ei hun ac yna'n gweithredu fel cragen wag — gall defnyddwyr ei gyrraedd ond ni chânt ddim y tu mewn, tra bod defnyddwyr sy'n gallu gweld yn gweld rheolydd sy'n gweithio'n llawn.

Sut i'w drwsio

  1. Ychwanegwch y rôl ofynnol at bob eitem y tu mewn i'r cynhwysydd — er enghraifft, role="tab" ar bob rheolydd y tu mewn i role="tablist".
  2. Os oes rhaid i'r eitemau fyw mewn man arall yn y cod, cysylltwch hwy gan ddefnyddio aria-owns ar y cynhwysydd.
  3. Os nad yw'r cynhwysydd yn declyn o'r fath mewn gwirionedd, tynnwch ei rôl neu cywirwch hi yn lle hynny.

Parau cyffredin: mae tablist angen tab; mae listbox angen option; mae menu a menubar angen menuitem (neu ei amrywiadau blwch ticio a botwm radio); mae radiogroup angen radio; mae tree angen treeitem; mae grid a table angen row; mae row angen celloedd neu benawdau.

Sut mae Silktide yn profi hyn

  1. Canfyddwch bob elfen y mae ei rôl ARIA yn gofyn am rolau plentyn penodol.
  2. Hepgorwch gynwysyddion sydd wedi'u marcio â aria-busy="true", sy'n dal i lwytho eu heitemau.
  3. Chwiliwch ddisgynyddion pob cynhwysydd sy'n weddill, gan gynnwys unrhyw elfennau a fabwysiadwyd gyda aria-owns, am o leiaf un elfen â rôl plentyn ofynnol. Mae elfennau brodorol yn cyfrif gyda'r rôl sydd ganddynt yn ymhlyg: caiff rhes tabl (<tr>) ei bodloni gan ei gelloedd <td> a <th>.
  4. Rhowch wybod am gynwysyddion lle na cheir yr un ohonynt.

Datrys problemau

Caiff yr eitemau eu llwytho'n ddiweddarach gan sgript

Mae Silktide yn profi'r dudalen wrth iddi lwytho. Os caiff blwch rhestr neu ddewislen ei llenwi ar alw yn unig, caiff ei chyhoeddi'n wag tan hynny; lle bo modd, rendrwch yr eitemau cychwynnol o leiaf gyda'r dudalen. Tra bod cynhwysydd yn dal i lwytho ei eitemau, marciwch ef â aria-busy="true" a thynnwch y briodwedd unwaith y bydd yr eitemau yn eu lle. Nid yw Silktide yn rhoi gwybod am gynhwysydd sydd wedi'i farcio'n brysur.

Dysgu mwy

Diweddarwyd ddiwethaf

A oedd y dudalen hon yn ddefnyddiol?