WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: When "Alt" is not the semantically-correct representation of an image

for

From: Steve Faulkner
Date: Jul 27, 2018 7:50AM


>
> But role="text" is not a
> documented role (yet?).
>

It was dumped from ARIA as there was not consensus on how it should be
implemented.

--

Regards

SteveF
Current Standards Work @W3C
<http://www.paciellogroup.com/blog/2015/03/current-standards-work-at-w3c/>;

On 27 July 2018 at 14:35, Duff Johnson < <EMAIL REMOVED> > wrote:

> Hi Glen,
>
> > I'm guessing you're not talking about images that represent text, because
> > if you went through WCAG, you would have hit 1.1.1 as your first
> encounter,
> > then 1.4.5 a little bit later.
>
> I do not believe these two clauses address my use-case.
>
> 1.1.1 doesn't really reference my case, in my view, and (as you point out)
> even if it did there's no means in HTML to achieve it.
>
> 1.4.5 is pertinent, but it tells me that I must avoid the problem, it
> offers no clues on addressing it when it occurs.
>
> > However, your "accenture logo" example
> > seems to be along those lines. In that case, what you probably *don't*
> > want is
> >
> > <p>How <img src="logo.jpg" alt="accenture"> reduces risks</p>
> >
> > because as you walk the DOM with AT, you'll hear "How graphic accenture
> > reduces risks". The word "graphic" is confusing in this case. It sounds
> > like you want the image to be treated as text.
>
> Bingo.
>
> > If the role="text" had been
> > implemented (I think it only exists in webkit), then something like this
> > would have worked:
> >
> > <p>How <img src="logo.jpg" alt="accenture" role="text"> reduces
> risks</p>
> >
> > You'd hear, "How accenture reduces risks" without the "graphic" because
> you
> > would have changed the role of the image. But role="text" is not a
> > documented role (yet?).
>
> Very helpful!!! I was not aware of role = text.. but as you say, it
> doesn't appear to be a documented role at this point. There's just Steve's
> excellent suggestion for it from… back in 2011!
>
> https://lists.w3.org/Archives/Public/wai-xtech/2011Apr/0007.html <
> https://lists.w3.org/Archives/Public/wai-xtech/2011Apr/0007.html>
> > So, if you want the image displayed for sighted users, but hidden from AT
> > users, *and* you need substitute text for the image, you might need
> > something like this:
> >
> > <p>How <img src="logo.jpg" alt=""> <span
> > class="sr-only">accenture</span> reduces risks</p>
>
> Actually, in principle I would prefer the image to be available to all
> users (since images can legitimately possess both "alt" and "ActualText").
> AT would then use ActualText by default when it exists, but the image (and
> its alt) would remain available to a query.
>
> > So the image itself would be hidden from AT because of the empty alt text
> > but then you'd have visually hidden text for the AT to read instead of
> the
> > image. The visually hidden <span> would essentially be your "actual
> text"
> > in PDF parlance. But there's nothing built in to HTML to give you this.
> > You'd have to code it manually with separate elements.
>
> So I see...
>
> > This works well enough with NVDA and JAWS but will have a slight problem
> > with VoiceOver on iOS (and possibly Mac, but I don't have a Mac to test
> > it). VoiceOver will stop at each element so as you swipe right it'll
> stop
> > on "How", then "accenture", then "reduces risk". That's not ideal. You
> > can fix this with the aforementioned (not spec'ed) role="text".
> >
> > <p role="text">How <img src="logo.jpg" alt=""> <span
> > class="sr-only">accenture</span> reduces risks</p>
> >
> > This treats the entire <p> and its children as if it were one element so
> > VoiceOver reads the whole thing. That's kind of a hack workaround for
> > VoiceOver. NVDA and JAWS will probably ignore role="text" but you'd want
> > to test it.
>
> Yeah, kind of a hack… but very interesting; thank you for the detailed
> explanation!
>
> > But I guess the short answer (if you skip my long preamble above) to your
> > original question is that there isn't an "actual text" type of attribute
> or
> > role for HTML.
>
> Bummer. This is worth fixing, not least because it seems one cannot really
> achieve (useful) conformance with WCAG 2.1, 1.1.1 without it.
>
> Duff.
>
>
>
> > > > >