Skip to content

kcm: improve a11y (orientation change buttons & slider values)

Christoph Wolk requested to merge cwo/kscreen:kcm_radiobutton into master

This MR contains two small changes to kcm_kscreen a11y:


Screen orientation in the kcm is configured through a set of icon-only toolbuttons in a buttongroup with a checked property. This has two negative a11y implications: first, there is no label to read out for these buttons. Second, their type is read out as checkbox, but as screen orientations are mutually exclusive (per device) this is semantically ill-fitting.

This change sets the Accessible.name to the tool-tip for the button, which is reasonably clear and short, and sets Accessible.role to the semantically more adequate RadioButton.


Screen scaling can be configured through either a slider or a spinbox. The internal representation of scaling is as a direct multiplier, but to the user this is displayed as a percentage. Screen readers, however, do not pick up on this translation in the case of the slider. The values read out when initially focusing the contol and when moving the slider are the internal values, inappropriately rounded to one decimal digit; e.g., a value presented in the UI as 125% is read out as 1.2.

This change modifies the sliders to use percent values as their internal representation, translating them as needed from/to the values expected in the kcm.


As I don't have a multi-monitor setup, I was unable to test the global scale slider; it is analogous to the per-display slider which I was able to test so it should work.

I haven't checked the SDR brightness/intensity sliders because I have never seen them in action and am not sure how exactly they work, but from reading the code I think they should be ok as-is.

@teams/accessibility

Merge request reports