Improving accessibility in MAUI

Improving accessibility in MAUI

.NET #MAUI has an ever-improving set of tools to help build apps that are accessible to as many people as possible.

However, I recently needed to add some accessibility-related features to one of my apps, only to find that there wasn't an easy way to do this. So, I made one.

Specifically, I created a library that means that it's possible to see if the device (Windows, Android, iOS, or Mac) that the app is running on has been configured to use reduced motion or to show text at a different size.

It means that I can easily make it so that my app doesn't show animations when a person has requested that the OS (& apps running on it) don't show motion.

Also, while the built-in MAUI text controls automatically account for OS-level text sizing, if I need to draw text myself (e.g. to add to an image), I can do this in a way that respects the needs and requests of the person using the app.

As these are both accessibility-related features, I called the library Plugin.Maui.Accessibility.

The library is available on NuGet, and the source is on GitHub.

It's an almost embarrassingly simple API exposed by the library. It just has two properties. One lets you know if the device is configured to use reduced motion. The other tells you the factor by which to scale any text.


The library is based on the great work that Gerald Versluis did with Plugin.Maui.Feature.

Fabricio Bertani

Mobile Developer at SEAtS Software

1 天前

Great job Matt, are you open to contributions? I've made use of default accessibility features from Maui but thought to create a package to extend functionalities missed on Maui, adding them to your package could be a good idea ??

回复
Nisha Sarkar

.NET CORE MVC | C# | MS SQL|WEBAPI | MVVM | CI/CD | XAMARIN | MAUI

6 天前

nice

回复
Josef Rajmon

Full-stack Developer (Medior) | 3+ Years of Experience at eKultura | .NET

3 周

Congratulations. MAUI is my loved framework. When you need someone advice, you can write me

回复
Soumyadip Majumder

ASP .NET Core | MAUI | Ex-Data Science trainee at Celebal Technologies | Ex-Database Designer @Dataiku (Remote)

4 周

Congratulations Matt Lacey ??

要查看或添加评论,请登录

Matt Lacey的更多文章

  • Why do you let your developers use XAML?

    Why do you let your developers use XAML?

    Serious question. If you employ or manage developers who use XAML to develop apps (with MAUI, WPF, WinUI, UWP, or…

    2 条评论
  • My #MAUI Day talk - part 5

    My #MAUI Day talk - part 5

    This is the final part in a series recapping my talk from MAUI Day (in London). This will probably only make sense if…

  • My #MAUI Day talk - part 4

    My #MAUI Day talk - part 4

    This is part 4 in a series recapping my talk from MAUI Day (in London). This will make much more sense if you read…

  • My #MAUI Day talk - part 3

    My #MAUI Day talk - part 3

    This is part 3 in a series recapping my talk from MAUI Day (in London). This will make much more sense if you read part…

  • My MAUI Day talk - part 2

    My MAUI Day talk - part 2

    Part one is here. (You should probably read that first.

  • My #MAUI Day talk - part 1

    My #MAUI Day talk - part 1

    This is a summary of part 1 of the talk I gave at #MAUIDay last week. XAML is the default option for defining UIs in…

    6 条评论
  • Evaluating the use of Copilot to create unit tests for code

    Evaluating the use of Copilot to create unit tests for code

    There's an idea that is being repeated a lot that writing unit tests for code is now much easier as you can "just" have…

  • Why you need to make intuitive, six-dimensional apps

    Why you need to make intuitive, six-dimensional apps

    The following is an extract from the first chapter of ‘Intuitive UX: The Six Dimensions of Mobile User Experience’. The…

社区洞察

其他会员也浏览了