Skip to content

Flutter Web: Landmark roles are required to identify regions of a page (Accessibility) #162138

Closed

Description

@jcollins-disney

Use case

WAI-ARIA landmark roles provide a powerful way to identify the organization and structure of a web page. By classifying and labelling sections of a page, they enable structural information that is conveyed visually through layout to be represented programmatically. Screen readers exploit landmark roles to provide keyboard navigation to important sections of a page. Landmark regions can also be used as targets for "skip links" and by browser extensions to enhanced keyboard navigation.

Proposal

Add the following landmark roles to the the available semantics roles in existing widget libraries:

  • banner (when in context of the body element)
  • complementary
  • contentinfo (when in context of the body element)
  • main
  • navigation
  • region (when it has an accessible name using aria-labelledby or aria-label)
  • sectionhead

Activity

  1. changed the title [-]Flutter Web: Landmark roles are required to identify regions of a page[/-] [+]Flutter Web: Landmark roles are required to identify regions of a page (Accessibility)[/+] on Jan 24, 2025
  2. added
    in triagePresently being triaged by the triage team
    c: new featureNothing broken; request for a new capability
    a: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)
    platform-webWeb applications specifically
    c: proposalA detailed proposal for a change to Flutter
    team-accessibilityOwned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)
    and removed
    in triagePresently being triaged by the triage team
    on Jan 24, 2025
  3. chunhtai commented on Feb 5, 2025

    @chunhtai
    Contributor

    We already covered banner.

  4. added
    P3Issues that are less important to the Flutter project
    on Feb 5, 2025
  5. atomancok commented on Apr 3, 2025

    @atomancok

    How can I use banner? I tried to use
    Semantics(header: true, headingLevel: null,child: child)
    with different values for "header", "headingLevel" and "child" but in my semantic tree, I only achieve to create "generic" or "heading" nodes, never "banner".

  6. self-assigned this
    on Apr 16, 2025
  7. added a commit that references this issue on Jun 6, 2025
  8. added
    r: fixedIssue is closed as already fixed in a newer version
    on Jun 9, 2025
  9. added a commit that references this issue on Jun 9, 2025
  10. github-actions commented on Jun 23, 2025

    @github-actions

    This thread has been automatically locked since there has not been any recent activity after it was closed. If you are still experiencing a similar issue, please open a new bug, including the output of flutter doctor -v and a minimal reproduction of the issue.

  11. locked as resolved and limited conversation to collaborators on Jun 23, 2025
  12. added a commit that references this issue on Sep 28, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

P3Issues that are less important to the Flutter projecta: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)c: new featureNothing broken; request for a new capabilityc: proposalA detailed proposal for a change to Fluttercustomer: castawayplatform-webWeb applications specificallyr: fixedIssue is closed as already fixed in a newer versionteam-accessibilityOwned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)triaged-accessibilityTriaged by Framework Accessibility team

Type

No type

Projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions