WIP
Edit me

Advised markup

Emmet

svg[role="presentation"] > g[role="img"][aria-label]

Symbols

svg[role="presentation"] > use[role="img"] > title
svg[hidden=""] > symbol[id]

HTML

<svg role="presentation">
  <g role="img" aria-label="Test">
  <rect x="0" y="0" width="100" height="100" />
  </g>
</svg>

Symbols

<svg role="presentation">
  <use role="img" xlink:href="#link">
    <title>Test</title>
  </use>
</svg>

<svg hidden>
  <symbol id="link">
    <rect x="0" y="0" width="100" height="100" />
  </symbol>
</svg>

Screen reader results

Basic markup

<svg role="img"><title>Test</title><rect x="0" y="0" width="100" height="100" /></svg>
Screen reader voiceover (macOs) 8.0 (562.13) ChromeVox 53 NVDA 2017.4
Browser Safari 11 Chrome 64 Firefox 57 Chrome 62 Firefox 57 Chrome 63 Edge 16 IE 11
Spoken output Test groupTest, imageTest, imageimageTest graphic, Testgraphic, Testgraphic, Testgraphic, Test, graphic, Test
Skipped falsefalsefalsefalsefalsefalsefalsefalse

with aria-label

<svg role="img" aria-label="Test"><rect x="0" y="0" width="100" height="100" /></svg>
Screen reader voiceover (macOs) 8.0 (562.13) ChromeVox 53 NVDA 2017.4
Browser Firefox 57 Chrome 62 Firefox 57 Chrome 63 Edge 16 IE 11
Spoken output Test, imageTest, imageTest graphic, Testgraphic, Testgraphic, Testgraphic, Test
Skipped falsefalsefalsefalsefalsefalse

extended with aria & role

<svg role="presentation">
  <g role="img" aria-label="Test">
  <rect x="0" y="0" width="100" height="100" />
  </g>
</svg>
Screen reader voiceover (macOs) 8.0 (562.13) ChromeVox 53 NVDA 2017.4
Browser Firefox 57 Chrome 62 Firefox 57 Chrome 63 Edge 16 IE 11
Spoken output Test, imageTest, imageTest graphic, Testgraphic, Testgraphic, Testgraphic, Test
Skipped falsefalsefalsefalsefalsefalse

symbols

<svg role="presentation">
  <use role="img" xlink:href="#r" />
</svg>
<svg>
  <symbol id="r">
    <title>Test</title>
    <rect x="0" y="0" width="100" height="100" />
  </symbol>
</svg>
Screen reader voiceover (macOs) 8.0 (562.13) ChromeVox 53 NVDA 2017.4
Browser Firefox 57 Chrome 62 Firefox 57 Chrome 63 Edge 16 IE 11
Spoken output imageimageblankgraphic
Skipped falsefalsefalsefalsefalsefalse

symbols extend with role

<svg role="presentation">
  <use role="img" xlink:href="#link">
    <title>Test</title>
  </use>
</svg>

<svg hidden>
  <symbol id="link">
    <rect x="0" y="0" width="100" height="100" />
  </symbol>
</svg>
Screen reader voiceover (macOs) 8.0 (562.13) ChromeVox 53 NVDA 2017.4
Browser Chrome 57 Chrome 62 Firefox 57 Chrome 63 Edge 16 IE 11
Spoken output Test, imageTest, imageTest graphic, Testgraphic, Testgraphic Testgraphic, Test
Skipped falsefalsefalsefalsefalsefalse

Specifications