Skip to content

Pad skip, named dialogs, and focus traps #248

Description

@HMarzban

What to build

Give the pad a skip link that lands on a real main landmark. Name Share, Make Private, and Sign out as dialogs. Trap focus in the TOC drawer and in BottomSheet.

Home and Legal already have skip and main. Do not change those pages. This is not caret find and not #247.

Acceptance criteria

  • Desktop and phone pad: a skip link exists and moves focus into a real main landmark.
  • Desktop and phone pad: that landmark is a main, or role main, with an id the skip target uses.
  • Share, Make Private, and Sign out expose their visible title as the dialog name.
  • Opening the TOC drawer keeps Tab inside the drawer until it closes.
  • Opening a BottomSheet keeps Tab inside the sheet until it closes.
  • Closing the drawer or a sheet returns focus to the control that opened it.
  • Home and Legal skip links still work.

Agent Brief

Category: enhancement
Summary: Pad skip plus main, named Share / Make Private / Sign out, and focus contain on the TOC drawer and BottomSheet.

Current behavior:
Home and Legal skip to a real main. The pad has no skip and no main. A skip with no target is a dead link. The pad header is not a main landmark. Breadcrumb nav and a named chat region appear only when chat is open.

Share, Make Private, and Sign out show a heading that is not wired as the dialog name. Sign in, Profile, and History restore already have a name.

The TOC drawer is a checkbox drawer. BottomSheet has no house focus trap. Centered dialogs already trap. Hardware Back can close those surfaces on a phone. It does not trap focus or restore it.

Desired behavior:
Add one skip control on the pad. Point it at a real main that wraps the document. Do not skip to an id that does not exist.

Wire Share, Make Private, and Sign out so the visible title is the accessible dialog name. Use the same naming pattern Sign in already uses. Do not restyle those dialogs.

When the TOC drawer is open, Tab stays inside it. When a BottomSheet is open, Tab stays inside it. Escape or the existing close control still closes them. Focus returns to the opener. Do not put the Chat pane on a sheet. Do not change docked control size.

Key interfaces:

  • Skip link — same job as Home and Legal; must have a live main target
  • Main landmark — one per pad layout, desktop and phone
  • Dialog name — visible title names Share, Make Private, and Sign out
  • TOC drawer — modal focus contain while open
  • BottomSheet — modal focus contain while open

Out of scope

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions