Skip to content

Add Accessibility Labels for Screen Readers #3

@mh292929

Description

@mh292929

Hello,

Could you please add accessibility labels to all buttons, controls, and interactive elements within the app? Currently, users who are blind or visually impaired and rely on screen readers like VoiceOver (on iOS) or TalkBack (on Android) cannot navigate or use the app effectively because most interactive elements are unlabeled.

Since the app is built with Flutter, you can use its built-in widgets to make it accessible on both platforms simultaneously.

How to Implement in Flutter:

Here are some quick tips on how to add the necessary labels:

  • Use the Semantics Widget: For custom-built widgets or simple Icon elements that need a description, wrap them in a Semantics widget and provide a label.

    Semantics(
      label: 'Open user profile', // This text will be read by the screen reader
      child: Icon(Icons.person),
    )
  • Use the tooltip Property: For widgets like IconButton, FloatingActionButton, or TextButton, the easiest method is to use the tooltip property. Flutter automatically uses the tooltip text as the accessibility label.

    IconButton(
      icon: Icon(Icons.settings),
      tooltip: 'Settings', // Screen readers will announce "Settings, button"
      onPressed: () {
        // Your action here
      },
    )
  • Be Descriptive: The labels should be short but descriptive. Instead of "Icon" or "Button," use action-oriented descriptions like "Share Photo" or "Go to Settings."

  • Label All Interactive Elements: Don't forget to add labels or tooltips to all interactive components, including icons, tabs, sliders, and custom controls.

Implementing these changes will significantly improve the user experience for people using screen readers and make the app inclusive for everyone.

Thank you for your attention to this important issue.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions