diff --git a/.storybook/main.ts b/.storybook/main.ts index 07c30a30..274a8a83 100644 --- a/.storybook/main.ts +++ b/.storybook/main.ts @@ -7,6 +7,7 @@ const config: StorybookConfig = { '@storybook/addon-essentials', '@chromatic-com/storybook', '@storybook/addon-interactions', + '@storybook/addon-a11y' ], framework: { name: '@storybook/sveltekit', diff --git a/package.json b/package.json index 4050fb6b..1f3c59e3 100644 --- a/package.json +++ b/package.json @@ -41,6 +41,7 @@ "@chromatic-com/storybook": "^3.2.6", "@reuters-graphics/yaks-eslint": "^0.1.1", "@reuters-graphics/yaks-prettier": "^0.1.1", + "@storybook/addon-a11y": "^8.6.12", "@storybook/addon-essentials": "^8.6.12", "@storybook/addon-interactions": "^8.6.12", "@storybook/addon-svelte-csf": "5.0.0-next.28", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 2d0e22ef..53a50a4d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -57,6 +57,9 @@ importers: '@reuters-graphics/yaks-prettier': specifier: ^0.1.1 version: 0.1.1(prettier@3.5.3)(svelte@5.28.1)(typescript@5.8.3) + '@storybook/addon-a11y': + specifier: ^8.6.12 + version: 8.6.12(storybook@8.6.12(prettier@3.5.3)) '@storybook/addon-essentials': specifier: ^8.6.12 version: 8.6.12(@types/react@18.3.20)(storybook@8.6.12(prettier@3.5.3)) @@ -834,6 +837,11 @@ packages: cpu: [x64] os: [win32] + '@storybook/addon-a11y@8.6.12': + resolution: {integrity: sha512-H28zHiL8uuv29XsVNf9VjNWsCeht/l66GPYHT7aom1jh+f3fS9+sutrCGEBC/T7cnRpy8ZyuHCtihUqS+RI4pg==} + peerDependencies: + storybook: ^8.6.12 + '@storybook/addon-actions@8.6.12': resolution: {integrity: sha512-B5kfiRvi35oJ0NIo53CGH66H471A3XTzrfaa6SxXEJsgxxSeKScG5YeXcCvLiZfvANRQ7QDsmzPUgg0o3hdMXw==} peerDependencies: @@ -1342,6 +1350,10 @@ packages: resolution: {integrity: sha512-wvUjBtSGN7+7SjNpq/9M2Tg350UZD3q62IFZLbRAR1bSMlCo1ZaeW+BJ+D090e4hIIZLBcTDWe4Mh4jvUDajzQ==} engines: {node: '>= 0.4'} + axe-core@4.10.3: + resolution: {integrity: sha512-Xm7bpRXnDSX2YE2YFfBk2FnF0ep6tmG7xPh8iHee8MIcrgq762Nkce856dYtJYLkuIoYZvGfTs/PbZhideTcEg==} + engines: {node: '>=4'} + axobject-query@4.1.0: resolution: {integrity: sha512-qIj0G9wZbMGNLjLmg1PT6v2mE9AH2zlnADJD/2tC6E00hgmhUOfEB6greHPAfLRSufHqROIUTkw6E+M3lH0PTQ==} engines: {node: '>= 0.4'} @@ -4698,6 +4710,14 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.40.0': optional: true + '@storybook/addon-a11y@8.6.12(storybook@8.6.12(prettier@3.5.3))': + dependencies: + '@storybook/addon-highlight': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + '@storybook/global': 5.0.0 + '@storybook/test': 8.6.12(storybook@8.6.12(prettier@3.5.3)) + axe-core: 4.10.3 + storybook: 8.6.12(prettier@3.5.3) + '@storybook/addon-actions@8.6.12(storybook@8.6.12(prettier@3.5.3))': dependencies: '@storybook/global': 5.0.0 @@ -5377,6 +5397,8 @@ snapshots: dependencies: possible-typed-array-names: 1.1.0 + axe-core@4.10.3: {} + axobject-query@4.1.0: {} bail@2.0.2: {} diff --git a/src/components/SiteHeader/SiteHeader.stories.svelte b/src/components/SiteHeader/SiteHeader.stories.svelte index 518debd8..3dc2f490 100644 --- a/src/components/SiteHeader/SiteHeader.stories.svelte +++ b/src/components/SiteHeader/SiteHeader.stories.svelte @@ -1,5 +1,6 @@ - + { + const canvas = within(canvasElement); + await userEvent.click(canvas.getByText('More')); + await waitFor(() => + expect(canvas.getByText('Graphics')).toBeInTheDocument() + ); + await userEvent.click(canvas.getByText('World')); + await waitFor(() => expect(canvas.getByText('Europe')).toBeInTheDocument()); + }} +>