Why it matters
An <svg role="img"> with no accessible name is announced as an unlabeled image, so the information in the graphic is lost.
How to fix it
Add a <title> as the first child of the SVG, or aria-label. For decorative icons use aria-hidden="true" instead of role="img".
Example
<svg role="img" aria-label="Revenue grew 40% in 2026">…</svg>References
More accessibility rules
void a11y reports 48 rules in this category. WCAG 2.2 AA through axe-core, plus checks axe can't do alone: visible keyboard focus, 24/44px target size on mobile, 320px reflow and disabled zoom.
aria-prohibited-attrARIA attribute is prohibited for this rolenested-interactiveInteractive controls are nestedduplicate-id-ariaDuplicate id referenced by ARIAframe-title<iframe> has no titlerole-img-altrole="img" element has no text alternativetabindexPositive tabindexscrollable-region-focusableScrollable region is not keyboard accessiblelink-in-text-blockLinks in text are distinguished only by color