music-assistant / hass-music-assistant

Turn your Home Assistant instance into a jukebox, hassle free streaming of your favorite media to Home Assistant media players.
Apache License 2.0
1.41k stars 51 forks source link

Accessibility problems #3239

Open OzGav opened 3 days ago

OzGav commented 3 days ago

What version of Music Assistant has the issue?

2.3.3

What version of the Home Assistant Integration have you got installed?

2024.11.5

Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

The problem

First of all, I would like to express my sincere appreciation for the Music Assistant project. The ability to integrate multiple music services into Home Assistant and control playback across various devices is truly impressive. The potential of this add-on is remarkable, and I’m excited about its continued development.

However, as a blind user relying on NVDA on Windows and TalkBack on Android, I’m facing significant accessibility challenges that make Music Assistant very difficult to use. Here are the key issues I’ve encountered:

Player Selection: The interface elements responsible for player selection are completely inaccessible, making it impossible to choose or switch between different playback devices.

Panels and Menus: Accessing functionality in the right-side panels (such as adding new services) is impossible. These overlay panels and their contained functions remain hidden from assistive technology.

Cover Descriptions: In the mobile app HAC, album artwork is announced as meaningless sequences of numbers (like “157353278918234378912345912345”) instead of descriptive alt text, making it impossible to identify the content.

Button Labeling: Throughout the interface, numerous buttons lack proper ARIA labels. They are simply announced as “button” without any indication of their function or purpose.

Playback Controls: On the player screen, while the progress bar, artist name, and track title are properly readable, the essential playback controls (previous, play, next) remain undetectable by assistive technology.

For perspective, I would rate Home Assistant’s general accessibility at 8,5/10, while Music Assistant currently sits at around 3,5/10. In comparison, services like Spotify and YouTube Music have excellent accessibility, with properly labeled controls and fully accessible interfaces.

I understand that implementing accessibility features requires additional development effort, but making Music Assistant accessible would greatly benefit the visually impaired community within Home Assistant users. Proper WCAG compliance, including:

How to reproduce

N/A

Music Providers

N/A

Player Providers

N/A

Full log output

N/A

Additional information

I’m happy to provide more detailed feedback or assist with testing if that would be helpful. Music Assistant is too good a project to remain inaccessible to screen reader users.

What version of Home Assistant Core are your running

2024.11.x

What type of installation are you running?

Home Assistant OS

On what type of hardware are you running?

Raspberry Pi

rekinet commented 2 days ago

Thank you @OzGav for creating the GitHub issue and addressing this concern. I really appreciate the quick response and your openness to improving accessibility.

Given the capabilities of Music Assistant, I'm confident that implementing accessibility features is well within the team's capabilities. While it does require some knowledge of accessibility principles, the implementation itself follows straightforward patterns:

  1. Images & Media

    • Add descriptive alt text for album covers (e.g., "Album cover: Dark Side of the Moon by Pink Floyd" instead of numeric sequences).
    • Decorative elements can have empty alt="" to be properly ignored.
  2. Interactive Elements

    • Ensure buttons have clear labels (e.g., "Play", "Pause" instead of just "button").
    • Make toggle buttons announce their state (e.g., "Shuffle play: on", "Shuffle play: off".
  3. Navigation

    • Ensure keyboard navigation works for all interactive elements.
    • Make modal dialogs accessible using proper aria-modal attributes.

These improvements can be implemented gradually, and most modern frontend frameworks include accessible components by default - it's often just a matter of using them correctly.

The WAI-ARIA Authoring Practices Guide (https://www.w3.org/WAI/ARIA/apg/) provides great examples and patterns if you need them.

I'm happy to provide more specific technical guidance or testing feedback as you work on these improvements. Building with accessibility in mind from the start will make Music Assistant even better for everyone.

marcelveldt commented 2 days ago

At this time we do not have time or capacity to work on this in the near future. We are underpowered and can barely keep up with the high demand. So while I personally find that accessibility is important, my answer at this time is that Music Assistant is not ready for that. It will most probably take another year or two before we can concentrate on that. Biggest issue bing that we have barely any contributors on the frontend.

We will keep this open on the backlog-longlist but I wanted to set some expectations upfront.