Color blind and high contrast mode in Ubuntu Frame

Hey,

We have our intercom devices, which run Ubuntu Core on them. We have an Flutter application running in kiosk mode and using Ubuntu Frame as a compositor, and the end users are interacting with it.

We were thinking of implementing some accessibility features, high-contrast/color-blind modes.

Wondering how it fits with Ubuntu Frame (or Mir under the hood), would it be possible to have some ways to do this on the compositor level?

I know Ubuntu desktop has some accessibility options on the system level, guessing those are done through GNOME, but not sure about Ubuntu Core

Thanks in advance.

Tagging you guys, since you have expertise on frame/mir @alan_g @Saviq

Hi @aliihsan, yes this is on our roadmap.

There’s a bunch of “accessibility” features landed in recent Mir releases (Release v2.22.0 · canonical/mir · GitHub and Release Release 2.23.0 · canonical/mir · GitHub)

We’ve still work to complete to integrate this into Ubuntu Frame (expect changes over the coming weeks).

1 Like

@aliihsan while Frame could do some of the common accessibility functions (that’s what Alan mentions we’ll integrate better over the coming months):

https://canonical-mir.readthedocs-hosted.com/stable/explanation/accessibility-methods/

There’s still a lot that it’s going to be difficult for a compositor to do… high contrast and color blindness fall into that category, I’d say. It’s the application that produces the pixels, and the compositor has no context about them. Is it an image? Is it a button? Should we just replace some hues with others? How do we improve contrast?

The application authors are in a much better place to make an informed decision about what makes their app more accessible. For Flutter, I’d follow their upstream guidelines:

https://docs.flutter.dev/ui/accessibility

1 Like

Thanks, @alan_g and @Saviq, for pointing out the releases and documents.