Skip to content

[VPAT] Material Widgets for VPAT #184841

Description

@chunhtai

This is a categorized list of Material widgets identified for VPAT assessment, we should add them to the a11y_assessment app. (checked one is already in a11y_assessment https://github.com/flutter/flutter/tree/master/dev/a11y_assessments/lib/use_cases)

Buttons and interaction

These widgets are primary targets for accessibility as they must handle focus, keyboard navigation, and screen reader announcements correctly.

  • ElevatedButton
  • FilledButton
  • OutlinedButton
  • TextButton
  • IconButton
  • FloatingActionButton
  • PopupMenuButton
  • SegmentedButton
  • ToggleButtons
  • BackButton
  • CloseButton
  • AboutListTile

Selection controls

These widgets change state and need to communicate that state clearly to accessibility services.

  • Checkbox
  • Radio
  • Switch
  • CheckboxListTile
  • RadioListTile
  • SwitchListTile

Text inputs

Text fields are among the most complex widgets for accessibility, handling focus, text selection, and error states.

  • TextField
  • TextFormField
  • Autocomplete
  • SearchBar
  • SearchAnchor
  • DropdownMenu

Menus

Material 3 introduced new menu widgets that are important for accessibility.

  • MenuAnchor
  • MenuBar
  • MenuItemButton
  • SubmenuButton

Navigation components

These widgets help users find their way around an app and need to support efficient keyboard traversal and semantic structure.

  • AppBar
  • BottomAppBar
  • NavigationBar
  • NavigationRail
  • Drawer
  • NavigationDrawer
  • TabBar
  • TabBarView

Dialogs and overlays

These widgets interrupt the user flow or provide contextual information, requiring careful focus management.

  • AlertDialog
  • SimpleDialog
  • AboutDialog
  • BottomSheet
  • SnackBar
  • MaterialBanner
  • Tooltip

Layout and content containers

These provide structure and should convey semantic meaning to screen readers.

  • Card
  • ListTile
  • ExpansionTile
  • ExpansionPanelList
  • ExpansionPanel
  • DataTable
  • PaginatedDataTable
  • GridTile
  • GridTileBar
  • UserAccountsDrawerHeader
  • ReorderableListView

Sliders and pickers

These involve complex gestures or multiple interactive elements.

  • Slider
  • RangeSlider
  • DatePicker
  • TimePicker

Indicators and informative widgets

These display status and should be announced or readable by screen readers.

  • CircularProgressIndicator
  • LinearProgressIndicator
  • ActionChip
  • FilterChip
  • ChoiceChip
  • InputChip
  • Badge
  • CarouselView

Activity

  1. added
    P2Important issues not at the top of the work list
    team-accessibilityOwned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)
    on Apr 9, 2026
  2. changed the title [-][VPAT] Material Widgets categlog[/-] [+][VPAT] Material Widgets for VPAT[/+] on Apr 9, 2026
  3. self-assigned this
    on Apr 9, 2026
  4. QuncCccccc commented on Apr 16, 2026

    @QuncCccccc
    Contributor

    Created #185124 to track new Material 3 Expressive components.

  5. QuncCccccc commented on Jun 24, 2026

    @QuncCccccc
    Contributor
    • For ToggleButtons, DropdownButton, and BottomNavigationBar, the respective M3 replacements are SegmentedButton, DropdownMenu (or MenuAnchor), and NavigationBar.
    • For RefreshIndicator, there is no replacement in M3, but M3E loading indicator should be a replacement.
    • Stepper has lacked maintenance for a long time and also no M3 update for it. We should consider deprecating it.
    • Some widgets like ExpansionTile doesn't have official M3 update, but we previously applied M3 styles to it, so I think it is fine to leave them as they are.

    Some widgets are neither m2 nor m3. The following list contains widgets specific to M3:

    • Buttons and interaction: ElevatedButton, FilledButton, OutlinedButton, TextButton, IconButton, FloatingActionButton, SegmentedButton
    • Selection controls: Checkbox, Radio, Switch, CheckboxListTile, RadioListTile, SwitchListTile,
    • Text inputs: TextField, TextFormField, SearchBar, SearchAnchor, DropdownMenu,
    • Menus: MenuAnchor, MenuBar, MenuItemButton, SubmenuButton,
    • Navigation components: AppBar, NavigationBar, NavigationRail, Drawer, NavigationDrawer, TabBar, TabBarView,
    • Dialogs and overlays: AlertDialog, SimpleDialog, BottomSheet, SnackBar, Tooltip,
    • Layout and content containers: Card, ListTile,
    • Sliders and pickers: Slider, RangeSlider, DatePicker, TimePicker,
    • Indicators and informative widgets: CircularProgressIndicator, LinearProgressIndicator, ActionChip, FilterChip, ChoiceChip, InputChip, Badge, CarouselView.
  6. chunhtai commented on Jul 7, 2026

    @chunhtai
    ContributorAuthor

    Thanks @QuncCccccc , updated the list accordingly

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

Metadata

Metadata

Assignees

Labels

P2Important issues not at the top of the work lista: accessibilityAccessibility, e.g. VoiceOver or TalkBack. (aka a11y)team-accessibilityOwned by Framework Accessibility team (i.e. responsible for accessibility code in flutter/flutter)triaged-accessibilityTriaged by Framework Accessibility team

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions