3 ms·
This sounds neat, but something sorely missing from this page is ahh mention of accessibility. Does Dioxus integrate with the platform-native accessibility APIs
by lilyball 4y ago
This sounds neat, but something sorely missing from this page is ahh mention of accessibility. Does Dioxus integrate with the platform-native accessibility APIs?
- jkelleyrtp 4y agoIt uses web tech so all the accessibility is built right in!
- littlestymaar 4y agoIn another comment you mentioned some ongoing work on a native back-end, how is the accessibility story going in this scenario?
- jkelleyrtp 4y agoWe’re leveraging the work done by Druid so the plan is to use AccessibilityKit as the foundation. Our native renderer is essentially a GPU-accelerated HTML/CSS renderer so we’ll pull in all the accessibility tech there. We don’t want people to learn anything new to get started, so sticking with web foundations is smart even if it’s not as great as a bespoke solution.
- littlestymaar 4y agoThanks for your answer. This part confuses me a little bit though: > Our native renderer is essentially a GPU-accelerated HTML/CSS renderer You'll just implement a subset of an HTML/CSS renderer that is capable enough for a specific subset of HTML and CSS that Dioxus generates, you're not planning to develop a fully browser-compliant HTML/CSS renderer, right?
- jkelleyrtp 4y agoWe’ll implement what it takes to hit the majority of CSS we run into. The Rust ecosystem has some great packages for CSS and layout (we and Bevy comaintain Taffy) so at a certain point it’ll be filling in the blanks. Being browser compliant would be great, but just being 70% of the way there would be cool too.
- littlestymaar 4y ago> Being browser compliant would be great, but just being 70% of the way there would be cool too. Thanks. I think aiming a 70% compatibility is a realistic goal, going up to 90% would probably need 10 times more efforts, and 95% ten times more, with 100% being unreachable anyway because no two browser behave exactly the same.
- irskep 4y ago"Web tech" could mean WebGL or Canvas, which are not accessible. Does it create HTML elements? I'd check myself, but none of your examples seem to be available to just look at without cloning the repo locally.
- jkelleyrtp 4y agoIf you dig into the library a bit more you’ll find that it renders native HTML elements.
- franga2000 4y agoThat doesn't mean much on its own. 30 nested <div>s with auto-generated IDs and all input handled in JS also counts as "web tech", but I wouldn't want to subject any screen reader user to that.
- robin_reala 4y agoHonestly, full AT tree support is minimum table stakes at this point. If a toolkit’s documentation doesn’t say how that support is of course there because they started with it in mind, then it’s an automatic skip for anyone building production systems that are expected to be live in the US, Canada, Israel, Australia, Norway, the EU (in 2025), etc etc.
- jkelleyrtp 4y agoDioxus renders HTML. Right now using WebKit, but in the future, its own engine with the same accessibility libraries that power the platform’s accessibility with the layer to get from HTML.