For the reasons that I find hard to control I'm stuck with gui libs that do not use os controls for rendering. Is providing a console version of an app a good way to make the app accessible to users who have to resort to screen readers/braille displays?
console apps and screen readers
66 Views Asked by Anton At
1
There are 1 best solutions below
Related Questions in ACCESSIBILITY
- Why does getRootInActiveWindow() always returns null in Accessibility Event
- Accessibility : Full keyboard access with scroll view in swiftui
- How to create an overlay window over a certain element via AccessibilityService and scroll it too?
- Problem with Delphi android app and talkback
- How can I get the screen reader to read controls that are not tab stops (e.g. static labels)?
- NVDA is not announcing "dialog" when Modal opens
- Accessibility sequence not working with "HorizontalPager" in Android Jetpack Compose
- Android recyclerview - cant able to navigate items using accessibility focus
- Using aria-describedby to reference description that contains more than just text
- What is the correct usage of aria-describedby?
- How to make related checkboxes accessible using wai-aria tags?
- How to close compose dialog in accessibility mode?
- How do I make an "add to list" pattern accessible for assistive technology users?
- Autogenerate link title based on URL/target for accessibility
- typeViewClicked event is not detected when target window is developed by jetpack compose by my accessibilityservice
Related Questions in SCREEN-READERS
- Is there a way to make a link appear as plain text on a screen reader but visibly be a link?
- NVDA Screen Reader Only reads Title Window in wpf Applicaton and not the whole page
- VoiceOver + Safari on macOS doesn't announce aria-expanded state properly
- Screen reader doesn't read cell value when moving accros the datepicker grid
- Convert read only fields for accessibility purposes
- next js 12.2 visually hidden component causing other third party widget to load on dom
- Screenreader Accessibility: two buttons, one label
- Complementary role on <aside> element for screen readers
- Overlay permission to read text on screen with user action
- how to fix a11y interactive controls must not be nested error
- <nav> inside modal dialog- what is preferred keyboard focus pattern?
- Screen readers not reading bootstrap-select dropdown options
- ChromeVox does not correctly read the aria-expanded attribute for a button wrapping an image
- Nvda screen-reader reads "PageTitle document blank" when navigating one route to another in Angular
- MUI 5's AutoComplete doesn't allow the selected tags to be read out by a screenreader
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
This is basically the same question as "My website isn't accessible, should I make an alternate text-only version?". And the answer is no, don't. It's far better to adapt your website and make it accessible, by respecting WCAG, rather than making two distinct versions.
In fact, having to maintain two versions is never very good, because you are going to forget the alternate one sooner or later. A lack of time, of budget, of knowledge, of motivation, and voilà, it's out of sync, differences are increasing, and then it's definitely gone.
Making the parralel with websites and the native GUI world, there indeed are GUI toolkits using native OS controls and/or having a decent screen reader accessibility support. For example, for Windows, there are wxWidgets, QT, Java SWT, among others. They aren't perfect, everything isn't fully accessible, differences exists between platforms, but they are well recognized, well maintained, since many years, and so, they should be your first choice, rather than trying to make a sort of "text-only version".
Another trendy alternative to traditional GUI toolkits is to use embedded web browsers. I can mention the well known Elektron and nw.js. Advantage, you make your app in HTML, CSS and JavaScript, and it will work almost everywhere. Most things will be accessible if you follow WCAG. Disadvantage, using a web app with a screen reader isn't as fluid and natural as with a native app, and is often perceived as being a lot more complicated, less practical, and much less accessible. That being said, you are probably going to make a more accessible app by using bad HTML than by using a bad GUI toolkit. Otherwise said, accessibility of a native app can by anywhere between 0 and 100%, while accessibility of an Elektron/NW.js app can be between 25 and 75%; you will certainly avoid total catastrophy, but also avoid total perfection.
Now, to answer to your actual question about console apps, in fact, from screen reader accessibility point of view, a console app isn't necessarily better or worse than a GUI app. It depends on what you exactly mean by console app.
Simple console apps are in principle fully accessible, but provided that the OS itself provide an accessible terminal. This may not be the case everywhere, even if, as far as I know, it's more or less always the case.
However, the definition of simple is very restrictive. We can consider that a console app is simple when tehre's only simple text output, and simple text input. In other words, you type a command, and you get the result. That's all. No color, no cursor jump or backward move, no special decoration characters, no ASCII art, no trial to create a pseudo-GUI by combining them all with a library like curse.
Even creating a menu where you can select options by pressing arrow keys can quickly become problematic in a console window. The screen reader may not well follow the cursor, detect changes, and determine easily what is to be read again or not, and on your side, you have no real way to help it finding that out.
There is no role, no ARIA, no expicit controls and labels, live zone, selection indication, nothing. The console is in fact just a grid of cells where each cell displays a given character with a given color. So, it works well only when it's simple, very simple, and reviewing command of the screen reader can also only be very simple: read character, word, or line, that's all.
Note that screen reader are trying hard to do their best with the limited information they can have in console apps. I'm blind, and so I can tell you that, after all, results aren't that bad.
At the end, it's more or less usable, yes, but better than a state of the art GUI app with good accessibility support? Maybe not. It's going to depend a lot also on personal preferences. I'm not going to be the advocate of the evil.
In conclusion, your investment to create a console app with the objective to be more accessible is quite big, for quite an uncertain success. You are going to much better spend your time getting to know good GUI toolkits with good accessibility support.