Skip to content

[Feature request]: options to prevent focus on body when restore #411

@YuanboXue-Amber

Description

@YuanboXue-Amber

Problem description:

Open this example: https://stackblitz.com/edit/vitejs-vite-ytxz4e?file=package.json,src%2FApp.tsx&terminal=dev

  1. Turn on NVDA
  2. Focus on the 'Trigger' button, press enter key, the 'close' button should be visible and focused
  3. Switch NVDA to forms mode, press enter key again, notice the screen reader announces 'document':
image

This happens because the restore focus is async with a timeout. When switching the example to the react useEffect restore focus, this problem does not appear (and if setTimeout is used in react useEffect, it appears as well).

Possible solutions:

Option 1: provide the ability to synchronously focus on trigger - this was discussed in teams meeting and discarded because the trigger might not be focusable
Option 2: provide the ability to focus on dummy input with aria-hidden when focus moves back to trigger.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions