1
0
Fork 0
mirror of https://git.sr.ht/~seirdy/seirdy.one synced 2024-12-25 02:02:11 +00:00

New note: UI toolkit pessimism

This commit is contained in:
Rohan Kumar 2023-02-16 19:01:11 -08:00
parent 296ef06020
commit 7571694ea7
No known key found for this signature in database
GPG key ID: 1E892DB2A5F84479

View file

@ -0,0 +1,20 @@
---
title: "UI toolkits and the accessibility gap"
date: 2023-02-16T19:01:11-08:00
replyURI: "https://www.warp.dev/blog/why-is-building-a-ui-in-rust-so-hard"
replyTitle: "Why is building a UI in Rust so hard?"
replyType: "BlogPosting"
#syndicatedCopies:
# - title: 'The Fediverse'
# url: ''
# - title: 'Lobsters'
# url: ''
---
How does Warp stack against other toolkits when it comes to accessibility and system integration?
In my system settings I set colors, default fonts (with fallback and hinting settings), animation preferences (reduce/eliminate animations), disable overlay scrollbars, set buttons to include text where possible, enable dark mode, configure keyboard shortcuts, and sometimes enable a screen reader. Windows users can enable High Contrast Mode to force their preferred palettes. To what degree will this toolkit respect these settings?
On Linux: the only options I know of with decent system integration, accessibility, and some presence outside the Freedesktop.org ecosystem are are Qt, GTK, and the Web. Flutter falls flat, with outstanding WCAG level A blockers like functional keyboard navigation and basic levels of customization (e.g. disabling animation); relevant issues typically get de-prioritized. This is despite its massive funding and development efforts, so I'm not optimistic about other contenders.
[AccessKit](https://github.com/AccessKit/accesskit) looks like a start for cross-platform interoperability between accessibility APIs. Until it's ready, support for each platform's accessibility APIs and screen readers will need to be implemented and tested. It's a monumental task. I worry that **releasing yet another inaccessible toolkit will merely increase the disability gap.**