Leonidius20 / RecordingStudio

Audio recorder app for Android
GNU General Public License v3.0
95 stars 4 forks source link

Add contentDescription for audio settings and stop buttons on the home fragment #6

Closed pvagner closed 2 months ago

pvagner commented 2 months ago

On the home fragment of the main screen there are multiple buttons. Record or Pause button has contentDescription property set while other buttons don't have this. Please add short and concise descriptions to the other buttons as well.

In general screen reader accessibility of the whole app is outstanding including chip group selection and title style for text views where it makes sense. Huge thanks for your dedication.

Thanks and greetings

Leonidius20 commented 2 months ago

Do you think it would it be better if the Rec/Pause button changed its content description depending on whether it is a Record or a Pause button at the moment, or should it stay the way it is now?

Also, it is it better for descriptions to be "Pause" and "Stop", or "Pause recording" and "Stop recording"? The latter is longer but more descriptive, not sure what the right descision here is

Asking because i don't have experience working with screen readers (should probably try and see how it works)

By the way, I didn't really do much for accessability here, just followed Google's Material Design principles to the best of my ability. We should thank them for integrating accessability into their Material Components library.

pvagner commented 2 months ago

I am suggesting to go with shorter descriptions such as Record, Pause, Stop and similar for obvious things. If possible please definatelly try to avoid describing roles or states in these descriptions. i.e. avoid saying words such as button, checkbox, link and also words such as checked, selected, pressed and similar. As for the Record or Pause button description I would think like this: are you changing the appearance of that button signalling its state such as swapping image resources, changing colour background, displaying an arrow or something similar, then I would go with alternative content descriptions describing what will pressing the button do. e.g. when service is idle describe the button as Record. When recording is in progress describe the button as Pause. If you can please try to think of universal design that will work for screen reader and non screen reader users alike. Only UI pattern that comes to my mind right now where I would consider making different behaviour for screen reader users is in the lists with a lot of repeatable inline controls. There are no such lists in this app currently, I am just trying to be helpfull with some general hints if you don't mind them.

Thanks and greetings

Peter

Leonidius20 commented 2 months ago

done in 0.1.2