Rôl rhiant ARIA ar goll
Mae Silktide yn gwirio elfennau y mae eu rôl ARIA ond yn gwneud synnwyr o fewn math penodol o gynhwysydd, megis tab y mae'n rhaid iddo fod o fewn stribed tabiau, ac yn gwirio bod y cynhwysydd gofynnol yn bresennol.
<!-- Problem: tab heb tablist o'i gwmpas -->
<button role="tab">Trosolwg</button>
<!-- Datrysiad: amgáu'r tabiau yn eu cynhwysydd gofynnol -->
<div role="tablist">
<button role="tab">Trosolwg</button>
</div>
Pam mae hyn yn bwysig
Diffinnir rolau eitemau yn gan eu cyd-destun:
mae tab yn drydydd o bum tab, mae option yn un dewis mewn rhestr, ac mae
row yn rhan o dabl. Mae
yn deillio'r safle, y cyfrif a'r ymddygiad llywio o'r teclyn rhiant.
Hebddo, gall yr eitem gael ei chamadnabod, ei chyhoeddi heb unrhyw gyd-destun,
neu ei hepgor yn gyfan gwbl - mae'r awdur wedi ychwanegu hanner teclyn, ac nid yw defnyddwyr yn cael y naill hanner na'r llall yn ddibynadwy.
Sut i'w drwsio
- Amgáwch yr elfen mewn cynhwysydd â'r rôl ofynnol - er enghraifft,
rhowch elfennau
role="tab"y tu mewn irole="tablist". - Os na all y rhiant amgáu'r plant yn gorfforol yn y cod, ychwanegwch
aria-ownsar y rhiant rhesymegol i'w mabwysiadu. - Os nad yw'r elfen yn eitem o'r math hwnnw mewn gwirionedd, tynnwch neu gywirwch ei rôl.
Parau cyffredin: mae tab angen tablist; mae option angen listbox;
mae menuitem angen menu neu menubar; mae radio mewn grŵp ARIA angen
radiogroup; mae treeitem angen tree; mae row angen grid, table,
treegrid, neu rowgroup; mae celloedd a phenawdau angen row.
Sut mae Silktide yn profi hyn
- Dewch o hyd i bob elfen y mae ei rôl ARIA yn gofyn am rôl rhiant benodol,
gan hepgor unrhyw beth mewn rhanbarth sydd wedi'i farcio â
data-silktide="ignore"ac unrhyw beth y mae gwaharddiad gwiriad a osodwyd ar gyfer eich gwefan yn cyfateb iddo. - Ewch i fyny drwy ei hynafiaid, gan ddilyn hefyd unrhyw fabwysiadu
aria-owns, i chwilio am elfen â rôl rhiant ofynnol. - Adroddwch am elfennau lle na cheir hyd i hynafiad o'r fath.
Datrys problemau
Mae'r rôl rhiant ar elfen â rôl ymhlyg
Mae elfennau brodorol yn cyfrif: nid oes angen rolau penodol ar <option> y tu mewn i <select>, neu <li>
y tu mewn i <ul>, <ol> neu <menu>, oherwydd bod y ddwy elfen yn cario'r rolau cywir yn ymhlyg. Mae canfyddiadau'n ymddangos pan ddefnyddir rôl eitem
heb unrhyw riant cymwys, penodol neu ymhlyg.
Mae'r elfen mewn cod trydydd parti na allwch ei newid
Mae rhai teclynnau, megis map wedi'i fewnosod, yn llunio marcio na allwch ei olygu. Ychwanegwch
data-silktide="ignore" at yr elfen sy'n cynnwys y teclyn, a bydd y gwiriad hwn yn hepgor popeth y tu mewn iddi yn y prawf nesaf.