Neidio i'r cynnwys
SilktideCymorth

Rôl ARIA sy'n gwrthdaro

Mae Silktide yn gwirio elfennau sy'n datgan rôl benodol yn erbyn yr ystyr sydd ganddynt eisoes yn HTML. Mae'n adrodd am rolau na chaniateir ar yr element honno, a rolau sy'n ailadrodd yn unig yr hyn y mae'r elfen eisoes yn ei olygu.

<!-- Problem: ni all elfen nav fod yn fotwm -->
<nav role="button">…</nav>

<!-- Problem: diangen, mae gan nav y rôl hon eisoes -->
<nav role="navigation">…</nav>

<!-- Trwsio: gadewch i'r elfen siarad drosti ei hun -->
<nav>…</nav>

Pam mae hyn yn bwysig

Mae ystyr adeiledig i bob elfen y mae yn dibynnu arni. Mae rôl sy'n gwrthdaro â'r ystyr honno yn creu element sy'n edrych fel un peth ond yn cyhoeddi ei hun fel peth arall - gallai glywed "botwm" ar yr hyn sydd mewn gwirionedd yn llywio'r safle, a cholli'r tirnod y mae'n ei ddefnyddio i ganfod ei ffordd o amgylch y dudalen. Mae rolau diangen yn llai niweidiol ond maent yn ychwanegu sŵn, yn gwahodd camgymeriadau yn y dyfodol, ac yn dynodi bod ARIA yn cael ei ddefnyddio lle nad oes ei angen.

Sut i'w drwsio

  1. Ar gyfer rôl sy'n gwrthdaro, naill ai tynnwch y rôl neu newidiwch i elfen sydd wir yn cario'r ystyr rydych ei eisiau - os dylai weithredu fel botwm, defnyddiwch <button>.
  2. Ar gyfer rôl ddiangen fel <nav role="navigation"> neu <button role="button">, dilëwch briodwedd y rôl. Mae'r elfen eisoes yn datgelu'r rôl honno ar ei phen ei hun.

Sut mae Silktide yn profi hyn

  1. Dewch o hyd i bob elfen ar y dudalen sydd â phriodwedd role, gan hepgor rolau anhysbys neu haniaethol (caiff y rheini eu hadrodd gan Rôl ARIA annilys).
  2. Cymharwch y rôl â'r cyfuniadau y mae manyleb ARIA in HTML yn eu caniatáu ar gyfer yr elfen honno, ac adroddwch am rolau nad yw'r elfen yn eu caniatáu.
  3. Adroddwch am rolau sy'n dyblygu rôl oblygedig yr elfen ei hun, ac eithrio role="list" ar <ul> a <ol> (gweler isod).
  4. Pan fydd priodwedd rôl yn rhestru sawl rôl, dim ond y rôl ARIA gyntaf a gydnabyddir sy'n cael ei hystyried, sef yr un a ddefnyddir gan borwyr. Caiff geiriau anhysbys o'i blaen eu hepgor.

Mae canfyddiadau'n gwahaniaethu rhwng y ddau achos, fel y gallwch flaenoriaethu gwrthdaro dros ailadrodd.

Datrys problemau

Mae'r rôl ddiangen yno ar gyfer porwyr hŷn

Ar un adeg, argymhellwyd rolau tirnod penodol fel role="navigation" fel rhwyd ddiogelwch ar gyfer hen dechnoleg gynorthwyol. Mae cefnogaeth i'r elfennau brodorol wedi bod yn gyffredinol ers blynyddoedd, ac mae'r rôl ddyblyg bellach yn costio mwy o ran cynnal a chadw nag y mae'n ei ddychwelyd. Tynnwch hi, neu y canfyddiad os yw eich polisi cymorth yn gofyn am ei chadw.

Nid adroddir am role="list" ar restr

Mae Safari gyda VoiceOver yn rhoi'r gorau i gyhoeddi <ul> neu <ol> fel rhestr pan fydd ei fwledi'n cael eu tynnu gyda list-style: none. Mae ychwanegu role="list" yn adfer y rhestr, felly nid yw Silktide yn ei hadrodd fel rôl ddiangen ar yr elfennau hynny.

Dysgu mwy

Diweddarwyd ddiwethaf

A oedd y dudalen hon yn ddefnyddiol?