mirror of
https://github.com/yu-i-i/overleaf-cep.git
synced 2026-11-12 13:13:45 +01:00
Merge pull request #33317 from overleaf/mj-menu-bar-role
[web] Fix aria roles for nested menu bar dropdowns GitOrigin-RevId: 1c285c2ef8ed0c589bd6b0df6112c054c8662ca4
This commit is contained in:
committed by
Copybot
parent
823f11426b
commit
42f7bca37e
@@ -140,7 +140,7 @@ describe('editor', function () {
|
|||||||
describe('file menu', function () {
|
describe('file menu', function () {
|
||||||
it('can download project sources', function () {
|
it('can download project sources', function () {
|
||||||
cy.findByRole('button', { name: 'File' }).click()
|
cy.findByRole('button', { name: 'File' }).click()
|
||||||
cy.findByRole('link', { name: 'Download' }).click()
|
cy.findByRole('menuitem', { name: 'Download' }).click()
|
||||||
cy.findByRole('menuitem', { name: 'Download as source (.zip)' }).click()
|
cy.findByRole('menuitem', { name: 'Download as source (.zip)' }).click()
|
||||||
const zipName = projectName.replaceAll('-', '_')
|
const zipName = projectName.replaceAll('-', '_')
|
||||||
cy.task('readFileInZip', {
|
cy.task('readFileInZip', {
|
||||||
@@ -157,7 +157,7 @@ describe('editor', function () {
|
|||||||
)
|
)
|
||||||
|
|
||||||
cy.findByRole('button', { name: 'File' }).click()
|
cy.findByRole('button', { name: 'File' }).click()
|
||||||
cy.findByRole('link', { name: 'Download' }).click()
|
cy.findByRole('menuitem', { name: 'Download' }).click()
|
||||||
cy.findByRole('menuitem', { name: 'Download as PDF' }).click()
|
cy.findByRole('menuitem', { name: 'Download as PDF' }).click()
|
||||||
const pdfName = projectName.replaceAll('-', '_')
|
const pdfName = projectName.replaceAll('-', '_')
|
||||||
cy.task('readPdf', `cypress/downloads/${pdfName}.pdf`).should(
|
cy.task('readPdf', `cypress/downloads/${pdfName}.pdf`).should(
|
||||||
|
|||||||
@@ -91,6 +91,8 @@ const NestedDropdownToggle: FC<React.PropsWithChildren> = forwardRef<
|
|||||||
'nested-dropdown-toggle',
|
'nested-dropdown-toggle',
|
||||||
'dropdown-item'
|
'dropdown-item'
|
||||||
)}
|
)}
|
||||||
|
role="menuitem"
|
||||||
|
aria-haspopup
|
||||||
>
|
>
|
||||||
{children}
|
{children}
|
||||||
<MaterialIcon type="chevron_right" />
|
<MaterialIcon type="chevron_right" />
|
||||||
@@ -122,6 +124,8 @@ export const NestedMenuBarDropdown: FC<
|
|||||||
show={active}
|
show={active}
|
||||||
autoClose
|
autoClose
|
||||||
onToggle={onToggle}
|
onToggle={onToggle}
|
||||||
|
as="li"
|
||||||
|
role="none"
|
||||||
>
|
>
|
||||||
<DropdownToggle
|
<DropdownToggle
|
||||||
id={`${menuId}-${id}`}
|
id={`${menuId}-${id}`}
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import type { ElementType, ReactNode, PropsWithChildren } from 'react'
|
import type { ElementType, ReactNode, PropsWithChildren, AriaRole } from 'react'
|
||||||
import type { ButtonProps } from '@/shared/components/types/button-props'
|
import type { ButtonProps } from '@/shared/components/types/button-props'
|
||||||
import type { DropdownMenuProps as BS5DropdownMenuProps } from 'react-bootstrap'
|
import type { DropdownMenuProps as BS5DropdownMenuProps } from 'react-bootstrap'
|
||||||
|
|
||||||
@@ -26,6 +26,7 @@ export type DropdownProps = {
|
|||||||
drop?: 'up' | 'up-centered' | 'start' | 'end' | 'down' | 'down-centered'
|
drop?: 'up' | 'up-centered' | 'start' | 'end' | 'down' | 'down-centered'
|
||||||
focusFirstItemOnShow?: false | true | 'keyboard'
|
focusFirstItemOnShow?: false | true | 'keyboard'
|
||||||
onKeyDown?: (event: React.KeyboardEvent) => void
|
onKeyDown?: (event: React.KeyboardEvent) => void
|
||||||
|
role?: AriaRole
|
||||||
}
|
}
|
||||||
|
|
||||||
export type DropdownItemProps = PropsWithChildren<{
|
export type DropdownItemProps = PropsWithChildren<{
|
||||||
|
|||||||
Reference in New Issue
Block a user