yang991178 / fluent-reader

Modern desktop RSS reader built with Electron, React, and Fluent UI
https://hyliu.me/fluent-reader/
BSD 3-Clause "New" or "Revised" License
7.6k stars 416 forks source link

Fluent Reader and a couple of accessibility glitches for visually impaired screen reader users #103

Open amirsol81 opened 4 years ago

amirsol81 commented 4 years ago

Describe the bug First and foremost, Fluent Reader is quite accessible to Windows screen readers (such as NVDA and JAWS) for the visually impaired, and I'm both ecstatic and surprised as our only accessible option till now was the defunct and inefficient built-in Internet Explorer 11 RSS reader. So thanks bunches for your efforts! However, Fluent Reader could benefit from some improvements for better accessibility and usability. The following are the priorities:

  1. This is quite serious. Neither NVDA nor JAWS can read the name/title of subscribed feeds. That is, if we press Up/Down to navigate around them, we just hear numbers such as "button 25", "button 10", "button 150", etc., indicating the number of their unread articles I thing. So this makes locating the required feed to access its articles quite cumbersome. Under very special circumstances we can force NVDA and JAWS to announce the feed name/title once we land on it (such as "25 button focused CNET News"), but this is both time-consuming and requires that we repeat it for each and every feed. I don't know what is causing it, but I suggest that feed names/titles be also reported and exposed.
  2. This is also related to the previous issue. Fluent Reader apparently doesn't expose the labels for some elements (such as "All articles" or "Search". As such, both NVDA and JAWS read these as "Button 999+" and "Button 0", respectively, when Up/Down arrows are pressed to reach them. Quite interestingly, important elements such as "Mark as unread", "Star", "Load full content", "Load webpage", etc., have no issues and their labels are properly reported.
  3. Fluent Reader doesn't make use of the Applications key (the equivalent of the old SHIFT+F10) to perform some tasks. Since this can help execute certain tasks (such as marking a feed/article read/unread or unsubscribing from a feed) without having to move around the cursor to achieve the desired goal, I suggest that the Applications key access to common tasks be also implemented. Moreover, since both JAWS and NVDA use a certain virtual browsing mode to interact with HTML content, they capture many keys which belong to Fluent Reader. This means that most -- if not all -- Fluent Reader single-letter keys don't work if screen readers are used. As such, access via the Applications key/context menu can make up for the loss.

To Reproduce Steps to reproduce the behavior: If interested, I suggest that you install the free and open-source NVDA screen reader from the following page in order to check the issues I reported: https://www.nvaccess.org/download/ Expected behavior A clear and concise description of what you expected to happen. Well, guess they are too broad to list here. Screenshots If applicable, add screenshots to help explain your problem.

Platform (please complete the following information):

Additional context Add any other context about the problem here. I'm running Fluent Reader version 0.8.0.0 at the moment.

amirsol81 commented 4 years ago

Once more, I'd like to take this opportunity to thank you for having developed such a polished and accessible RSS Reader. Once these bugs (number 1 in particular) are fixed, I'm going to introduce Fluent Reader to the community of blind and visually impaired screen reader users. Many of us are avid RSS users, too, and I'm sure the app will find lots of patrons quickly.

yang991178 commented 4 years ago

Thank you for reporting this. Most of the accessibility features present in the app are handled by default through Microsoft's Fluent UI framework, and the parts that don't quite work are probably due to my modifications to their components. I will try to address these issues in the next build as soon as I have time to work on this project.

amirsol81 commented 4 years ago

You're most welcome. I'd be glad to test the new alpha or beta releases once they become available as I think the app has huge potential especially if features like podcast playback and feed discovery are added to it. For the time being, the omission of the announcement of feed names (issue number 1), in particular, requires urgent attention IMO as it makes moving to and locating feeds quite cumbersome. I don't know if the feed names appear on the screen visually, but screen readers like NVDA and JAWS fail to display the names in their virtual buffers, meaning we can't even use their Search facility to locate the feed we want.

yang991178 commented 3 years ago

The issues accessing menu items should be fixed in the latest version. I'll look into the use of application key in the next update.