From c031584bcde710841ef4324558f40242080c53a9 Mon Sep 17 00:00:00 2001 From: "Patrick H. Lauke" Date: Thu, 13 Dec 2018 13:09:47 +0000 Subject: SVG accessibility fixes (#27826) * SVG accessibility fixes - add `focusable="false"` to all SVGs, to stop IE from including the `` 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 `` 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 to 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 --- build/svgo.yml | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) (limited to 'build/svgo.yml') 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 -- cgit v1.2.3