nvaccess / nvda

NVDA, the free and open source Screen Reader for Microsoft Windows
https://www.nvaccess.org/
Other
2.11k stars 637 forks source link

Allow The User to Choose to See Images That Have No Alt Text In All Applications #7412

Open jhomme opened 7 years ago

jhomme commented 7 years ago

On the web, MS Office, and elsewhere, NVDA ignores grapics with alt text, causing accessibility testers to miss-report accessibility findings.

I'd like to suggest that this functionality appear in the Document dialog box, and be allowed to be controlled also in Configuration Profiles.

Steps to reproduce:

  1. Open the attached MS Word document. This document contains two graphics, both of which NVDA ignores.
  2. Try to find the graphics and add alt text to them. HighTest Services One Pager Final.docx
jcsteh commented 7 years ago

NVDA ignores grapics with alt text

Did you mean "graphics without alt text"?

There are a few considerations here:

  1. Regarding accessibility testing, I'd expect things like this to be picked up by other more appropriate tools. Even if this were an option, I'd argue it should be disabled by default, since many images without alt text are purely presentational and would thus be an annoyance to users.
  2. On the web, alt="" is an explicit indication that an image is presentational only and should be ignored for accessibility purposes. These graphics should never be included, regardless of such an option.
  3. Technically, this is a bit tricky to implement for virtual buffers at present, as we currently don't have a way to pass rendering options to the buffer. Also, changing this setting would require any existing buffers to be reloaded.
Simon818 commented 5 years ago

This is becoming a bit of an issue in certain places. There are many websites that use clickable graphics for navigation or option selection. Sometimes they appear as clickable, but I've seen instances where they don't (although I don't have any examples for you, sorry.) In any case, even if they are clickable and the user has chosen to have clickable elements reported, hearing the word "clickable" with no context doesn't really seem user friendly. I'd really like to see this as an option, though I agree it shouldn't be on by default.

jcsteh commented 5 years ago

If the images itself is clickable, it does get reported even if there's no alt:

data:text/html,

That gets reported for me as "graphic 10x10" (or clickable graphic if you have reporting of clickables turned on).

if an ancestor is clickable, that isn't going to work, though. So I guess all the cases you're seeing must be ancestor clickable?

Simon818 commented 5 years ago

I don't know enough to know how to figure that out without looking through the code, and on some new websites that's just a god awful mess. But that would make sense. Does that still work if some javascript code adds the onclick property?

jcsteh commented 5 years ago

Yes, it should work with JS-added click handlers. My concern is that what you're seeing might not even be img tags. Do you know for certain they are img tags? If they're, say, CSS background images, we don't really have a chance of handling those.

Simon818 commented 5 years ago

I can tell you that every time I've seen this behavior, I've been able to move to the graphics in question using object navigation and click them that way. Of course there have been sites that do things similar to what you're describing with CSS, and I know that's not something NVDA has a good way to handle.

Adriani90 commented 5 years ago

cc: @Qchristensen your thoughts on the example provided by @jhomme are very apreciated. I think NVDA idnores the grafics because they are not in line with text. Right?

Brian1Gaff commented 5 years ago

Did we not have a very long discussion about the disruptive e nature of javascript named graphics needing to be suppressed, oh about three years back?

Brian

bglists@blueyonder.co.uk Sent via blueyonder. Please address personal E-mail to:- briang1@blueyonder.co.uk, putting 'Brian Gaff' in the display name field.


jhomme commented 5 years ago

Hi, Thanks for considering this. AsI believe that NVDA would be a user agent according to the WCAG User Agent Guidelines, and this means that it needs to support displaying images if the alt attribute is missing. Otherwise, an accessibility tester would get a lot of false positives.

Thanks.

Jim

On 4/24/19, Brian Gaff notifications@github.com wrote:

Did we not have a very long discussion about the disruptive e nature of javascript named graphics needing to be suppressed, oh about three years back?

Brian

bglists@blueyonder.co.uk Sent via blueyonder. Please address personal E-mail to:- briang1@blueyonder.co.uk, putting 'Brian Gaff' in the display name field.

-- You are receiving this because you were mentioned. Reply to this email directly or view it on GitHub: https://github.com/nvaccess/nvda/issues/7412#issuecomment-486276440

--

Jim Homme http://www.jimhommewebdev.com Twitter: @jimhomme Facebook: http://www.facebook.com/jimhomme LinkedIn: https://www.linkedin.com/in/jimhomme Skype: jim.homme FreeChess: jhomme

Qchristensen commented 5 years ago

In Word 365 v16.0.11601.20184 in browse mode, it DOES find graphics, even without alt text, with G / shift+g etc. Also, Office 365 now automatically generates alt text when you insert an image. I can't get Word to NOT be able to find an image in browse mode now (if I delete the alt text, it calls it "picture 1" - if I set it to one of the alignments that is not inline, it still finds it, although it may not be exactly where I expect in the text - it's harder to select in that case, but this issue isn't about editing the document, it's about reporting images when reading).

Re whether NVDA is a user agent, https://www.w3.org/WAI/standards-guidelines/uaag/ states: "... User agents include browsers, browser extensions, media players, readers and other applications that render web content. Some accessibility needs are better met in the browser than in the web content, such as text customization, preferences, and user interface accessibility. A user agent that follows UAAG 2.0 will improve accessibility through its own user interface and its ability to communicate with other technologies, including assistive technologies (software that some people with disabilities use to meet their requirements). ..." - I would take that to mean that assistive technologies such as NVDA are not themselves considered User Agents.

If you asked me otherwise, I would have said "It is up to the browser to render the web page, and it is up to NVDA to communicate what the browser renders to someone in speech or Braille".

Personally, as far as reporting images without alt+text, I think:

pitermach commented 5 years ago

With the prevalence of good OCR capabilities I can now see a use for being able to read unlabeled images on the web, if I want to run OCR on an graphic of some text like a screen shot. Often these don't have a label so NVDA just ignores them completely. A great example of such a site is Twitter, where people often post images of text, which most of the time haven't been described, and Twitter just presents them with an empty alt tag. As a result if I want to OCR such an image there is a lot of somewhat annoying object navigation gymnastics involved.

Like reporting clickables, this probably wouldn't be a feature everyone leaves on all the time, but I can still see use for it. It would also bring NVDA into parody with other Screen Readers - JAWS and VoiceOver both have options to navigate all images or just the labeled ones.

tmthywynn8 commented 5 years ago
  1. Regarding accessibility testing, I'd expect things like this to be picked up by other more appropriate tools. Even if this were an option, I'd argue it should be disabled by default, since many images without alt text are purely presentational and would thus be an annoyance to users.
  2. On the web, alt="" is an explicit indication that an image is presentational only and should be ignored for accessibility purposes. These graphics should never be included, regardless of such an option.

I respectfully disagree, as there are many web developers who use alt="" incorrectly, e.g., images uploaded to twitter without a description, or images published through the Vellum book authoring tool without alt text, neither of which are decorative or presentational. I've encountered other examples as well, but can't think of any that comes to mind.

  1. Technically, this is a bit tricky to implement for virtual buffers at present, as we currently don't have a way to pass rendering options to the buffer. Also, changing this setting would require any existing buffers to be reloaded.

Huh. How does something like the "Include layout tables" option under browse mode settings work, then? Could we use that same starting point for images without an alt attribute or when the web developer incorrectly uses alt=""? With the case of layout tables, table navigation commands don't work when the box is unchecked, so it must do something significant in the case of supposed layout tables.

cedewey commented 3 years ago

Another scenario this feature would help in is when the description and meaning of an image is conveyed in a caption.

For example, NPR oftentimes has empty alt text because the caption conveys everything relevant about the image.

https://www.npr.org/2021/06/04/1003228976/pence-distances-himself-from-trump-over-jan-6th-insurrection

screenshot of NPR article image and corresponding html markup

If the image is skipped altogether, then the reading of the caption might not be read to the user in a way that makes it apparent that its describing an image.

cary-rowen commented 3 years ago

NVDA cannot report images without an alt attribute, even if the graphics checkbox is checked on the document format panel. It seems that the letter G cannot be used to jump to the graphic. As some people say, I sometimes want to copy this image in the right-click menu, or I want to perform OCR on it, which is very annoying.

Qchristensen commented 2 years ago

(Sorry, for some reason only the initial comment loaded originally - I was going to close this as working now in Word, given the example doc - since the more recent conversation is about the web rather than Word, I'll leave it as it was and leave quietly...)

zersiax commented 2 years ago

I'm still running ninto this on the web, yes. There are a bunch of different websites that use CMSes that just set alt="" as a sensible default given an entirely missing alt goes against the spec, to my knowledge. Spec-wise, this would mark them as presentation only, but I think we can safely say that maybe 10% of web developers even knows that is a thing. Having no access to these images at all, particularly given we now have OCR to glean text from them as well as automated browser facilities to get AI-generated alts, it feels like a setting to at least makes these images reachable would be desirable.