diff --git a/CHANGELOG.md b/CHANGELOG.md index 67fa67eb..b513208c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -8,11 +8,12 @@ and this project adheres to ### Fixed -- 🙈(docker) add **/.next to .dockerignore #2034 +- 🙈(docker) add \*\*/.next to .dockerignore #2034 ### Changed - ♿️(frontend) ensure doc title is h1 for accessibility #2006 +- ♿️(frontend) fix share modal heading hierarchy #2007 ## [v4.8.1] - 2026-03-17 diff --git a/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts b/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts index 4d5a57bd..be74a2c5 100644 --- a/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts +++ b/src/frontend/apps/e2e/__tests__/app-impress/doc-header.spec.ts @@ -285,7 +285,7 @@ test.describe('Doc Header', () => { await page.getByRole('button', { name: 'Share' }).click(); const shareModal = page.getByRole('dialog', { - name: 'Share modal content', + name: 'Share the document', }); await expect(shareModal).toBeVisible(); await expect(page.getByText('Share the document')).toBeVisible(); @@ -364,7 +364,7 @@ test.describe('Doc Header', () => { await page.getByRole('button', { name: 'Share' }).click(); const shareModal = page.getByRole('dialog', { - name: 'Share modal content', + name: 'Share the document', }); await expect(shareModal).toBeVisible(); await expect(page.getByText('Share the document')).toBeVisible(); @@ -435,7 +435,9 @@ test.describe('Doc Header', () => { await page.getByRole('button', { name: 'Share' }).click(); - const shareModal = page.getByLabel('Share modal'); + const shareModal = page.getByRole('dialog', { + name: 'Share the document', + }); await expect(page.getByText('Share the document')).toBeVisible(); await expect(page.getByPlaceholder('Type a name or email')).toBeHidden(); @@ -705,10 +707,12 @@ test.describe('Documents Header mobile', () => { await page.getByRole('menuitem', { name: 'Share' }).click(); const shareModal = page.getByRole('dialog', { - name: 'Share modal content', + name: 'Share the document', }); await expect(shareModal).toBeVisible(); await page.getByRole('button', { name: 'close' }).click(); - await expect(page.getByLabel('Share modal')).toBeHidden(); + await expect( + page.getByRole('dialog', { name: 'Share the document' }), + ).toBeHidden(); }); }); diff --git a/src/frontend/apps/impress/src/components/quick-search/QuickSearchGroup.tsx b/src/frontend/apps/impress/src/components/quick-search/QuickSearchGroup.tsx index 61be75c9..24005382 100644 --- a/src/frontend/apps/impress/src/components/quick-search/QuickSearchGroup.tsx +++ b/src/frontend/apps/impress/src/components/quick-search/QuickSearchGroup.tsx @@ -19,9 +19,11 @@ export const QuickSearchGroup = ({ }: Props) => { return ( + + {group.groupName} + diff --git a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareModal.tsx b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareModal.tsx index c6328542..1121dc06 100644 --- a/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareModal.tsx +++ b/src/frontend/apps/impress/src/features/docs/doc-share/components/DocShareModal.tsx @@ -183,7 +183,7 @@ export const DocShareModal = ({ doc, onClose, isRootDoc = true }: Props) => { isOpen closeOnClickOutside data-testid="doc-share-modal" - aria-labelledby="doc-share-modal-title" + aria-label={t('Share the document')} size={isDesktop ? ModalSize.LARGE : ModalSize.FULL} aria-modal="true" onClose={onClose} @@ -223,8 +223,6 @@ export const DocShareModal = ({ doc, onClose, isRootDoc = true }: Props) => { $overflow="hidden" className="--docs--doc-share-modal noPadding " $justify="space-between" - role="dialog" - aria-label={t('Share modal content')} > { $gap={spacingsTokens['base']} className="--docs--doc-visibility" > - + {t('Link settings')} {isDesynchronized && }