{"id":487,"date":"2021-09-26T02:22:00","date_gmt":"2021-09-26T02:22:00","guid":{"rendered":"https:\/\/pneumasolutions.com\/?p=487"},"modified":"2024-11-21T03:17:19","modified_gmt":"2024-11-21T03:17:19","slug":"accesskit-a-new-open-source-project-to-help-make-more-apps-accessible","status":"publish","type":"post","link":"https:\/\/pneumasolutions.com\/fr\/accesskit-a-new-open-source-project-to-help-make-more-apps-accessible\/","title":{"rendered":"AccessKit : un nouveau projet open-source pour rendre plus d'applications accessibles"},"content":{"rendered":"<div class=\"wp-block-media-text has-media-on-the-right is-stacked-on-mobile is-vertically-aligned-top\" style=\"grid-template-columns:auto 35%\"><div class=\"wp-block-media-text__content\">\n<p>There\u2019s just about nothing more frustrating for blind people than trying to use an app, only to find that the app is inaccessible. Maybe your screen reader can\u2019t read a key part of the app, or maybe it can\u2019t read anything at all. When apps are developed using standard buttons, edit boxes, list boxes, tables, or other user interface elements, it\u2019s not hard to make them accessible. But some apps are developed using a non-standard user interface toolkit, and these toolkits are completely inaccessible. Implementing accessibility from scratch in a user interface toolkit is difficult and time-consuming, so it usually doesn\u2019t get done, except in the top few user interface toolkits with heavy corporate backing. Sometimes it\u2019s truly necessary for an app developer to use a custom user interface toolkit, and sometimes it\u2019s not, but regardless, we end up with inaccessible apps.<\/p>\n<\/div><figure class=\"wp-block-media-text__media\"><img loading=\"lazy\" decoding=\"async\" width=\"300\" height=\"300\" src=\"https:\/\/pneumasolutions.com\/wp-content\/uploads\/2024\/11\/AccessKit-logo-v2-300x300-1.png\" alt=\"\" class=\"wp-image-488 size-full\" srcset=\"https:\/\/pneumasolutions.com\/wp-content\/uploads\/2024\/11\/AccessKit-logo-v2-300x300-1.png 300w, https:\/\/pneumasolutions.com\/wp-content\/uploads\/2024\/11\/AccessKit-logo-v2-300x300-1-150x150.png 150w, https:\/\/pneumasolutions.com\/wp-content\/uploads\/2024\/11\/AccessKit-logo-v2-300x300-1-12x12.png 12w\" sizes=\"auto, (max-width: 300px) 100vw, 300px\" \/><\/figure><\/div>\n\n\n\n<p>This problem is especially urgent for apps that are critical to particular jobs. It\u2019s not uncommon for a blind person to be unable to get a particular job because the job requires the use of an app that\u2019s inaccessible. These are often niche apps for which the usual economic incentive to implement accessibility, namely selling to the government and educational sectors, doesn\u2019t apply. So we urgently need a solution that breaks down as many of the barriers as possible to making the long tail of apps accessible.<\/p>\n\n\n\n<p>As with the work Pneuma Solutions is doing on remediation of documents and meeting content, machine learning can help with this problem. Apple is leading the way in this area with the Screen Recognition feature built into iOS, and the results so far are promising. However, this technology isn\u2019t yet available on all computers and devices, and the results are often not satisfactory. We can\u2019t wait for this solution to mature and be more widely adopted; we need another approach that will be practical in the shorter term. Also, many developers of both apps and user interface toolkits are willing to make their software accessible, if only it weren\u2019t so difficult and time-consuming. These developers are already willing to meet us halfway; now we need to do the same.<\/p>\n\n\n\n<p>That\u2019s where my new open-source project,&nbsp;<a href=\"https:\/\/github.com\/AccessKit\/accesskit\">AccessKit<\/a>, comes in. The goal of AccessKit is to provide shared infrastructure for making apps accessible, across as many platforms and programming languages as possible. With AccessKit, a developer working with multiple platforms won\u2019t have to implement accessibility for each platform from scratch. Another goal of AccessKit is to be better documented and easier to use correctly than the existing platform-specific accessibility APIs such as UI Automation for Windows or Cocoa accessibility for Apple platforms. After all, a broken accessibility implementation can be almost as frustrating as no accessibility at all.<\/p>\n\n\n\n<p>AccessKit is still early in its design and development, but it\u2019s already attracting interest from other developers, including code contributions from one other developer. And now I have the great privilege of receiving funding from Google to work part-time on this project, starting with the Windows implementation. I look forward to usable results by the end of this year.<\/p>\n\n\n\n<p>I\u2019m sure any developers reading this will want to know more about how AccessKit will work. The short version is that AccessKit will provide a cross-platform accessibility abstraction that\u2019s heavily inspired by the Chromium browser engine. This abstraction is based on serializable data structures, thus minimizing the overhead of interfacing between programming languages. AccessKit will be implemented primarily in the Rust programming language, which provides a unique combination of reliability and efficiency. However, AccessKit will be usable from a variety of programming languages. More details are available at the&nbsp;<a href=\"https:\/\/github.com\/AccessKit\/accesskit\">AccessKit GitHub repository<\/a>.<\/p>\n\n\n\n<p>As an open-source project, AccessKit needs participation from the developer community to be successful and sustainable. In particular, I\u2019d appreciate contributions from developers that are proficient in the Rust programming language. The overall design of AccessKit is still fluid, so it\u2019s too early for me to delegate much implementation work. What I do need at this point is peer review, especially from developers that are more experienced with the Rust language than I am. If you\u2019re interested, please&nbsp;<a href=\"https:\/\/github.com\/AccessKit\/accesskit\">join us on GitHub<\/a>.<\/p>\n\n\n\n<p>In closing, a big reason why I left Microsoft to cofound Pneuma Solutions is that I want to have the freedom to work on accessibility-related projects that I believe will have a great positive impact for our community, beyond a single platform. I\u2019m still enthusiastic about the work we\u2019re doing at Pneuma Solutions, and that work will continue. With AccessKit, I now have the opportunity to solve a problem that has weighed heavily on my mind for many years. I look forward to working with the software development community to make many more apps accessible.<\/p>\n\n\n\n<p><\/p>","protected":false},"excerpt":{"rendered":"<p>Il n'y a rien de plus frustrant pour les personnes aveugles que d'essayer d'utiliser une application et de se rendre compte que...<\/p>","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_kad_blocks_custom_css":"","_kad_blocks_head_custom_js":"","_kad_blocks_body_custom_js":"","_kad_blocks_footer_custom_js":"","_kadence_starter_templates_imported_post":false,"_kad_post_transparent":"","_kad_post_title":"","_kad_post_layout":"","_kad_post_sidebar_id":"","_kad_post_content_style":"","_kad_post_vertical_padding":"","_kad_post_feature":"","_kad_post_feature_position":"","_kad_post_header":false,"_kad_post_footer":false,"_convertkit_action_broadcast_export":false,"footnotes":""},"categories":[31],"tags":[135,137,35,136],"class_list":["post-487","post","type-post","status-publish","format-standard","hentry","category-accessibility","tag-accesskit","tag-apps","tag-github","tag-open-source"],"taxonomy_info":{"category":[{"value":31,"label":"Accessibility"}],"post_tag":[{"value":135,"label":"AccessKit"},{"value":137,"label":"apps"},{"value":35,"label":"github"},{"value":136,"label":"Open-source"}]},"featured_image_src_large":false,"author_info":{"display_name":"Pneuma Solutions Team","author_link":"https:\/\/pneumasolutions.com\/fr\/author\/pneumafier\/"},"comment_info":0,"category_info":[{"term_id":31,"name":"Accessibility","slug":"accessibility","term_group":0,"term_taxonomy_id":31,"taxonomy":"category","description":"","parent":0,"count":50,"filter":"raw","cat_ID":31,"category_count":50,"category_description":"","cat_name":"Accessibility","category_nicename":"accessibility","category_parent":0}],"tag_info":[{"term_id":135,"name":"AccessKit","slug":"accesskit","term_group":0,"term_taxonomy_id":135,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":137,"name":"apps","slug":"apps","term_group":0,"term_taxonomy_id":137,"taxonomy":"post_tag","description":"","parent":0,"count":1,"filter":"raw"},{"term_id":35,"name":"github","slug":"github","term_group":0,"term_taxonomy_id":35,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"},{"term_id":136,"name":"Open-source","slug":"open-source","term_group":0,"term_taxonomy_id":136,"taxonomy":"post_tag","description":"","parent":0,"count":2,"filter":"raw"}],"_links":{"self":[{"href":"https:\/\/pneumasolutions.com\/fr\/wp-json\/wp\/v2\/posts\/487","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pneumasolutions.com\/fr\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/pneumasolutions.com\/fr\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/pneumasolutions.com\/fr\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/pneumasolutions.com\/fr\/wp-json\/wp\/v2\/comments?post=487"}],"version-history":[{"count":1,"href":"https:\/\/pneumasolutions.com\/fr\/wp-json\/wp\/v2\/posts\/487\/revisions"}],"predecessor-version":[{"id":489,"href":"https:\/\/pneumasolutions.com\/fr\/wp-json\/wp\/v2\/posts\/487\/revisions\/489"}],"wp:attachment":[{"href":"https:\/\/pneumasolutions.com\/fr\/wp-json\/wp\/v2\/media?parent=487"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/pneumasolutions.com\/fr\/wp-json\/wp\/v2\/categories?post=487"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/pneumasolutions.com\/fr\/wp-json\/wp\/v2\/tags?post=487"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}