From 0c6165b161268308b8a0432d3c2e69c93b17e34f Mon Sep 17 00:00:00 2001 From: Erick Zhao Date: Tue, 15 Feb 2022 01:14:54 -0800 Subject: [PATCH] fix(utils): make SVGO not remove title (#6684) * chore(utils): add `removeTitle: false` to svg loader By default, SVGR removes the `` tag from SVG inputs. This hinders a11y since "the `<title>` element provides an accessible, short-text description of any SVG container element or graphics element". Modern browsers also show tooltips on hover for inline SVG with the `<title>` tag. See https://developer.mozilla.org/en-US/docs/Web/SVG/Element/title * fix test --- packages/docusaurus-utils/src/__tests__/webpackUtils.test.ts | 3 ++- packages/docusaurus-utils/src/webpackUtils.ts | 1 + 2 files changed, 3 insertions(+), 1 deletion(-) diff --git a/packages/docusaurus-utils/src/__tests__/webpackUtils.test.ts b/packages/docusaurus-utils/src/__tests__/webpackUtils.test.ts index f423fa6058..824cd34195 100644 --- a/packages/docusaurus-utils/src/__tests__/webpackUtils.test.ts +++ b/packages/docusaurus-utils/src/__tests__/webpackUtils.test.ts @@ -8,7 +8,7 @@ import {getFileLoaderUtils} from '../webpackUtils'; describe('getFileLoaderUtils()', () => { - test('plugin svgo/removeViewBox should be disabled', () => { + test('plugin svgo/removeViewBox and removeTitle should be disabled', () => { const {oneOf} = getFileLoaderUtils().rules.svg(); expect(oneOf[0].use).toContainEqual( expect.objectContaining({ @@ -20,6 +20,7 @@ describe('getFileLoaderUtils()', () => { name: 'preset-default', params: { overrides: { + removeTitle: false, removeViewBox: false, }, }, diff --git a/packages/docusaurus-utils/src/webpackUtils.ts b/packages/docusaurus-utils/src/webpackUtils.ts index 18e090f5a4..94aab58558 100644 --- a/packages/docusaurus-utils/src/webpackUtils.ts +++ b/packages/docusaurus-utils/src/webpackUtils.ts @@ -112,6 +112,7 @@ export function getFileLoaderUtils(): FileLoaderUtils { name: 'preset-default', params: { overrides: { + removeTitle: false, removeViewBox: false, }, },