Skip to content

Commit

Permalink
feat(storybook): add a11y support
Browse files Browse the repository at this point in the history
  • Loading branch information
bsahitya committed Jun 11, 2024
1 parent 65ad924 commit 40d29a7
Show file tree
Hide file tree
Showing 6 changed files with 49 additions and 5 deletions.
6 changes: 5 additions & 1 deletion libs/react-components/.storybook/main.ts
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,11 @@ import { resolve } from 'path';

const config: StorybookConfig = {
stories: ['../src/lib/**/*.stories.@(js|jsx|ts|tsx|mdx)'],
addons: ['@storybook/addon-essentials', '@storybook/addon-interactions'],
addons: [
'@storybook/addon-essentials',
'@storybook/addon-interactions',
'@storybook/addon-a11y',
],
framework: {
name: '@storybook/react-vite',
options: {
Expand Down
6 changes: 6 additions & 0 deletions libs/react-components/src/lib/components/Chip/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,10 @@ const Chip: React.FC<ChipProps> = ({
}
};

const handleKeyUp = (event: React.KeyboardEvent) => {
if (event.key === 'Enter') handleClick();
};

useEffect(() => {
if (selectable) setIsSelected(selected);
}, [selectable, selected]);
Expand All @@ -45,6 +49,8 @@ const Chip: React.FC<ChipProps> = ({
selectable ? styles.selectable : ''
}`}
onClick={handleClick}
onKeyUp={handleKeyUp}
tabIndex={0}
>
{label}
</div>
Expand Down
5 changes: 4 additions & 1 deletion libs/react-components/src/lib/components/Header/index.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,10 @@ const Header: React.FC<HeaderProps> = ({

return (
<>
<nav className={`${styles.headerNavWrapper} navbar`}>
<nav
className={`${styles.headerNavWrapper} navbar`}
aria-label="Primary navigation"
>
{/* Header utility bar with the language switcher begins */}
<section className={styles.headerUtility}>
<div className={styles.containerWide}>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -68,8 +68,7 @@ const LanguageDropdown: React.FC<LanguageDropdownProps> = ({
}`}
>
<button
aria-label="Select language"
aria-controls="languages"
aria-label="Click or press enter to open menu"
tabIndex={0}
aria-haspopup="true"
className={`${styles.languageSelectorToggle} ${styles.selected}`}
Expand All @@ -81,14 +80,15 @@ const LanguageDropdown: React.FC<LanguageDropdownProps> = ({
className={`${styles.languageSelector} ${
menuPosition === 'top' ? styles.top : ''
}`}
id="languages"
role="menu"
>
{languages.map((lang, index) => (
<li
className={`${styles.languageOption} ${
lang.value === activeLang?.value ? styles.active : ''
}`}
onClick={() => handleLangOptionClick(lang)}
tabIndex={0}
key={index}
>
{lang.label}
Expand Down
29 changes: 29 additions & 0 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 2 additions & 0 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -33,9 +33,11 @@
"@semantic-release/changelog": "^6.0.3",
"@semantic-release/exec": "^6.0.3",
"@semantic-release/git": "^10.0.1",
"@storybook/addon-a11y": "^7.5.3",
"@storybook/addon-essentials": "^7.5.3",
"@storybook/addon-interactions": "^7.5.3",
"@storybook/core-server": "^7.5.3",
"@storybook/icons": "^1.2.9",
"@storybook/jest": "^0.2.3",
"@storybook/react-vite": "^7.5.3",
"@storybook/test-runner": "^0.13.0",
Expand Down

0 comments on commit 40d29a7

Please sign in to comment.