diff options
author | Patrick H. Lauke <redux@splintered.co.uk> | 2018-12-13 16:09:47 +0300 |
---|---|---|
committer | GitHub <noreply@github.com> | 2018-12-13 16:09:47 +0300 |
commit | c031584bcde710841ef4324558f40242080c53a9 (patch) | |
tree | 1865cb50c383a8100606b4ade7cecfc87ac9aba8 /build | |
parent | 375d137561999346d5a0ac0c6d8f72bf9dff82b1 (diff) |
SVG accessibility fixes (#27826)
* SVG accessibility fixes
- add `focusable="false"` to all SVGs, to stop IE from including the `<svg>` in its default focus cycle
- completely hide decorative SVGs using `aria-hidden="true"`
- add `role="img"` to meaningful/"content" SVGs, ensure they have an appropriate `<title>` and/or `aria-label`
- simplify placeholder default title
* Simplify usage of placeholder.svg in the docs
- in most cases, no need for separate/redundant text and title (now that we make text itself part of the alternative text explicitly)
- no need (expect in rare cirumstances) to describe the placeholder image (unless the look of the image is important/the actual content, as is the case with the image thumbnail class)
* Simplify example.html rewriting of <svg> to <img> code sample
- as the `alt` for the placeholder isn't really important, just add an ellipsis instead (otherwise, to be correct, we'd have to construct the whole "title+text" construct like we do now in the
placeholder.svg itself
* Change svgo configuration to retain role attribute and add/force focusable=false
- regarding `focusable=false`, see https://github.com/svg/svgo/issues/1011 (which would be the "proper" SVGO fix) and the (hacky) solution https://github.com/svg/svgo/pull/817
Diffstat (limited to 'build')
-rw-r--r-- | build/svgo.yml | 9 |
1 files changed, 7 insertions, 2 deletions
diff --git a/build/svgo.yml b/build/svgo.yml index a12cf421c4..047e6947f0 100644 --- a/build/svgo.yml +++ b/build/svgo.yml @@ -15,6 +15,10 @@ js2svg: indent: 2 plugins: + # remove this with IE 11 is no longer supported + - addAttributesToSVGElement: + attributes: + - focusable: false - cleanupAttrs: true - cleanupEnableBackground: true - cleanupIDs: true @@ -41,8 +45,9 @@ plugins: - removeHiddenElems: true - removeMetadata: true - removeNonInheritableGroupAttrs: true - - removeTitle: true - - removeUnknownsAndDefaults: true + - removeTitle: false + - removeUnknownsAndDefaults: + keepRoleAttr: true - removeUnusedNS: true - removeUselessDefs: true - removeUselessStrokeAndFill: true |