Skip to content

unlabeled buttons and images - accessibility #6230

@shimi12x

Description

@shimi12x

I am writing to report persistent accessibility issues in the Home Assistant Android Companion app (running on Android 16) when connected to Home Assistant core version 16.3 and using Google TalkBack (latest version) as my screen reader. The primary problem is widespread unlabeled controls, particularly icon-based buttons and images, which lack proper content descriptions or accessibility labels. This causes TalkBack to announce them as "unlabeled button," "unlabeled image," or simply "button" without context, making navigation extremely difficult and often impossible without sighted assistance.

A clear example occurs when attempting to create a new zone (in Settings > Companion app > Location > Zones > Add zone). In this flow:

  • Multiple unlabeled icon buttons appear, announced only as "button" or "unlabeled button," with no indication of what they do.
  • Several images and icons are read as "unlabeled graphic" or skipped entirely, leaving no information about available options or how to proceed.
  • Similar unlabeled icon buttons are present when trying to make changes or complete the process.

This pattern of unlabeled image-based controls extends throughout the app, including dashboards, entity cards, and settings sections, severely limiting usability for screen reader users.

Adding proper android:contentDescription attributes to these elements would resolve the issue and improve compliance with Android accessibility guidelines. I would appreciate any updates on addressing this in a future release and am available to provide more details or test fixes.for the below 3 fields -->
Home Assistant Android app version(s):

Android version(s):

Device model(s):

Home Assistant version:

Last working Home Assistant release (if known):

Description of problem, include YAML if issue is related to notifications:

Companion App Logs:


Screenshot or video of problem:

Additional information:

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions