From 234b67fe98c6167e4f83f43e11942a9e937c2a60 Mon Sep 17 00:00:00 2001 From: Armand Philippot Date: Tue, 7 Jun 2022 17:10:43 +0200 Subject: chore: add an aria label to code blocks Prism is adding a tabindex to code blocks, so I think an aria label can help screen reader users to identify the tabbed content. --- src/components/molecules/layout/code.stories.tsx | 13 +++++++++++++ src/components/molecules/layout/code.tsx | 6 ++++++ 2 files changed, 19 insertions(+) (limited to 'src/components') diff --git a/src/components/molecules/layout/code.stories.tsx b/src/components/molecules/layout/code.stories.tsx index ac0e98f..c3fbf22 100644 --- a/src/components/molecules/layout/code.stories.tsx +++ b/src/components/molecules/layout/code.stories.tsx @@ -12,6 +12,19 @@ export default { outputPattern: '#output#', }, argTypes: { + 'aria-label': { + control: { + type: 'text', + }, + description: 'An accessible name for the code sample.', + table: { + category: 'Accessibility', + }, + type: { + name: 'string', + required: false, + }, + }, children: { control: { type: 'text', diff --git a/src/components/molecules/layout/code.tsx b/src/components/molecules/layout/code.tsx index 30351b9..7e249d1 100644 --- a/src/components/molecules/layout/code.tsx +++ b/src/components/molecules/layout/code.tsx @@ -6,6 +6,10 @@ import { FC, useRef } from 'react'; import styles from './code.module.scss'; export type CodeProps = { + /** + * An accessible name. + */ + 'aria-label'?: string; /** * The code to highlight. */ @@ -39,6 +43,7 @@ const Code: FC = ({ language, plugins = [], outputPattern = '#output#', + ...props }) => { const wrapperRef = useRef(null); const { attributes, className } = usePrism({ language, plugins }); @@ -54,6 +59,7 @@ const Code: FC = ({ tabIndex={0} {...attributes} {...outputAttribute} + {...props} > {children} -- cgit v1.2.3