The a11y-no-aria-label-misuse rule currently restricts aria-label/aria-labelledby on a conservative set of elements: h1–h6, strong, em, i, p, b, and code.
According to Not so short note on aria-label usage (big table edition), many more elements have no aria-label support:
Text-level semantics: abbr, cite, del, dfn, ins, kbd, mark, pre, q, s, samp, small, sub, sup, time, u, var, wbr
Block elements: address, blockquote, dd, dt, li
Other: bdi, bdo, rp, rt, ruby
The article is from 2020, so browser support may have changed. Each batch should be validated against current browser/screen reader behavior before adding.
References:
The
a11y-no-aria-label-misuserule currently restrictsaria-label/aria-labelledbyon a conservative set of elements:h1–h6,strong,em,i,p,b, andcode.According to Not so short note on aria-label usage (big table edition), many more elements have no
aria-labelsupport:Text-level semantics:
abbr,cite,del,dfn,ins,kbd,mark,pre,q,s,samp,small,sub,sup,time,u,var,wbrBlock elements:
address,blockquote,dd,dt,liOther:
bdi,bdo,rp,rt,rubyThe article is from 2020, so browser support may have changed. Each batch should be validated against current browser/screen reader behavior before adding.
References:
a11y-no-aria-label-misuserule #1677