WebAIM - Web Accessibility In Mind

E-mail List Archives

Re: Possible Incorrect NVDA Behavior

for

From: Patrick H. Lauke
Date: Aug 11, 2018 3:17AM


I believe the original question here revolves around the fact that NVDA
will announce the placeholder text even when the input has been
filled-in by the user. Visually, that placeholder text isn't shown to
sighted users anymore, but AT may announce it (as the accessible name /
accessible description). This sort of thing is not standardised (there's
no spec that clearly says what AT should/shouldn't do), so it's
essentially how NVDA chooses to deal with placeholder. No right or wrong
about it, but more a question of usefulness. You could argue (depending
on what the placeholder text actually said) that NVDA users get *more*
useful context when revisiting an already filled-out field than users
relying solely on their sight/what the browser shows.

Also worth noting that the behavior in browsers/AT depends on whether or
not the placeholder is the only piece of information that can provide a
name/description to an input.

Take a basic example of a proper <label> and <input>, where the <input>
also has a placeholder


<label for="foo">This is the label</label>
<input id="foo" placeholder="This is the placeholder">

Just testing on Windows at the moment, the following happens:

IE11/JAWS and IE11/NVDA: the input is announced using the label,
placeholder text is not announced at all
Firefox 61/JAWS and Firefox 61/NVDA: the input is announced using the
label, placeholder text is not announced at all
Chrome/JAWS and Chrome/NVDA: the input is announced using the label and
the placeholder text when it's empty; after the user entered some text
in the input, it's only announced using the label and current entered value

Now, it gets more interesting when placeholder is the only text
available to provide an accessible name for the input, e.g. just

<input placeholder="This is the placeholder and there's no label">

In this case:

IE11/JAWS: the input is announced just as "edit"; placeholder text is
not announced
IE11/NVDA: the input is announced using the placeholder text, even when
the user has filled-in the input
Firefox61/JAWS and Firefox 61/NVDA: the input is announced using the
placeholder text, even when the user has filled-in the input (I believe
this is the case queried in the thread starter here by James)
Chrome/JAWS and Chrome/NVDA: the input is announced using the
placeholder text, even when the user has filled-in the input


(so, the only outlier here is IE11/JAWS, all others use placeholder as
the accessible name for the input)

P

On 11/08/2018 09:40, Bim Egan wrote:
> Hello,
>
> I believe that removal or retention of the visible placeholder text is
> controlled by the browser, not the screenreader. Firefox leaves it visible
> until the user starts to type, Internet Explorer removes it immediately on
> focus.
>
> JavaScript can be used to change these behaviours, but without it the above
> is what the user can expect.
>
> HTH,
>
> Bim
> -------------
> Bim Egan
> Personal Email: <EMAIL REMOVED>
> Skype ID: bim.accessequals
> ----------------------------------------
> Partner: AccessEquals
> W: www.accessequals.com
> E: <EMAIL REMOVED>
>