jamulus icon indicating copy to clipboard operation
jamulus copied to clipboard

Checkbox controls should be "self-labelling"

Open gilgongo opened this issue 3 years ago • 13 comments

I think it's more accessible (and better UX) to use "self-labelling form elements".

So for example, it should be:

[ ] Audio Alerts

not split between a label and the control:

Audio Alerts [ ] Enable

The reason is mainly so that the control doesn't get separated from its label by a screen reader, but also in some contexts words like "enable", "on", "set" etc. might have unintended semantic or translation problems leading to "mode error". Better to let the user interpret the active state from the control than use a word for that state.

This issue currently applies to the Audio Alert and Feedback Protection controls in Settings. Other controls are compliant.

gilgongo avatar Jul 10 '22 13:07 gilgongo

Feedback Protection should also be changed

ann0see avatar Jul 24 '22 06:07 ann0see

@gilgongo can you do that and raise a PR?

ann0see avatar Aug 29 '22 17:08 ann0see

What about the "Enable Small Network Buffers" option?

henkdegroot avatar Aug 29 '22 19:08 henkdegroot

What about the "Enable Small Network Buffers" option?

The solution to the issue should document the means used to identify all the affected checkboxes. Without that, it shouldn't be considered complete, as we need to have confidence we're finding and fixing all of them now.

We could also do with a coding style check for the issue to prevent it arising again.

pljones avatar Aug 29 '22 20:08 pljones

Not sure how best to spec it, but checkboxes should have no other label other than the one that comes after the box. That label should also not contain words that clash with the function of the control like "enable..." "turn on..." etc. So they would need to change to:

image

gilgongo avatar Aug 29 '22 21:08 gilgongo

@gilgongo can you do that and raise a PR?

Not sure I'm qualified to do that.

gilgongo avatar Aug 29 '22 21:08 gilgongo

Not sure why Input Boost was not a dropdown in the first place.

Huh, what version of Jamulus is this? Input boost is supposed to be a combo box (dropdown).

hoffie avatar Aug 29 '22 22:08 hoffie

Not sure why Input Boost was not a dropdown in the first place.

Huh, what version of Jamulus is this? Input boost is supposed to be a combo box (dropdown).

Yes, got that wrong. The machine I'm on can't run Jamulus so I didn't check.

gilgongo avatar Aug 29 '22 22:08 gilgongo

Any news here?

ann0see avatar Sep 06 '22 16:09 ann0see

On my list. I'll assign it.

pljones avatar Sep 06 '22 16:09 pljones

If my grep worked, the full list of checkboxes and whether they need changing looks like this:

src/clientdlgbase.ui "chbLocalMute" OK "chbSettings" OK "chbChat" OK

src/clientsettingsdlgbase.ui "chbAudioAlerts" Needs fix "chbAutoJitBuf" OK "chbEnableOPUS64" Needs fix "chbDetectFeedback" Needs fix

src/connectdlgbase.ui "chbExpandAll" OK

src/serverdlgbase.ui "chbEnableRecorder" Needs fix "chbEnableDelayPanning" Needs fix

pljones avatar Sep 06 '22 17:09 pljones

These changes are here, stacked up waiting on #2839: https://github.com/pljones/jamulus/tree/bugfix/%232723-self-label-checkboxes (These are initial screenshots. I'll post the final ones in the documentation change issue.)

src/clientsettingsdlgbase.ui

  • "chbAudioAlerts" Needs fix - fixed Also adjusted layout to use "Form Layout" for the two group boxes. This layout makes it clearer which label is associated with which field in the editor. The "User Interface" section also lost the massive (and, in my view, ugly) gap: image

  • "chbEnableOPUS64" Needs fix - fixed Linux/Jack and Windows/ASIO: image image Again, I've used "Form Layout" for the "Input" and "Output" channel mapping sections and for the audio "Channel" and "Quality" controls.

  • "chbDetectFeedback" Needs fix - fixed image

src/serverdlgbase.ui

  • "chbEnableRecorder" Needs fix - fixed Along with making "My Server Info" group box into "Form Layout": image

  • "chbEnableDelayPanning" Needs fix - fixed Along with a "Grid Layout" container, which (I think), makes things much tidier: image

pljones avatar Sep 07 '22 11:09 pljones

Also, I note that my builds, the misaligned faders issue isn't present: Linux: image Windows: image

So maybe it's something else in the toolchain?

pljones avatar Sep 07 '22 12:09 pljones