W3C home > Mailing lists > Public > w3c-wai-ig@w3.org > April to June 2013

RE: Virtual Buffer Refresh

From: Jonathan Avila <jon.avila@ssbbartgroup.com>
Date: Thu, 25 Apr 2013 10:46:58 -0400
Message-ID: <5f17ee526931c7592920d656aec15d5a@mail.gmail.com>
To: Greg Davies <GDavies@jackhenry.com>, Bryan Garaventa <bryan.garaventa@whatsock.com>, w3c-wai-ig@w3.org
> The problem is the screen reader "thinks" the control the content is in
is something other than what it actually is.

It sounds like a focus issue.  I assume you are setting focus using the
JavaScript focus() method.  What can happen though is a timing issue.  I
have found that creative use of setTimeout with JavaScript a focus()
method call can "wake up" assistive technology in situations where it
thinks the focus is in the wrong place.    Sometimes waiting a few
milliseconds before shifting focus may be need in cases where the screen
reader is refreshing it's view of the DOM.

Jonathan

-----Original Message-----
From: Greg Davies [mailto:GDavies@jackhenry.com]
Sent: Thursday, April 25, 2013 9:50 AM
To: Bryan Garaventa; Jonathan Avila; w3c-wai-ig@w3.org
Subject: RE: Virtual Buffer Refresh

The original content is changed, no problem there and the screen reader
can see the content and announces it.  The problem is the screen reader
"thinks" the control the content is in is something other than what it
actually is.  More specifically, an asp:dropdownlist is the control that
initially is changed by the user.  This change triggers a postback to get
additional content, but that content is not displayed on the screen only
held in the background for a popup window.  The next control on the screen
is an asp:textbox.  Its contents has not changed.  When the user tabs to
that textbox control, the screen reader announces the control as a
combobox, the same control name as the dropdownlist, and does the same for
every control on the page regardless of the actual control type.
Executing an ins+esc key combo from the keyboard causes the screen reader
to reread the page and everything is fine with the world.  I want to be
able to initiate that page reread from the program either using aria
commands or javascript.  I have tried various hacks but they do not seem
to work reliably.  Aria-live has gotten us to this point.  Without
Aria-live, the screen reader announces the control labels just as it does
the control, with the same name regardless of the actual label on the
control.

Greg Davies

-----Original Message-----
From: Bryan Garaventa [mailto:bryan.garaventa@whatsock.com]
Sent: Wednesday, April 24, 2013 6:46 PM
To: Greg Davies; Jonathan Avila; w3c-wai-ig@w3.org
Subject: Re: Virtual Buffer Refresh

I'm not sure I understand the problem, is it that the right content isn't
being announced, or that the new content isn't appearing in the Virtual
Buffer after it's added to the DOM? Both have different fixes. ARIA works
on the first, but not the second.

----- Original Message -----
From: "Greg Davies" <GDavies@jackhenry.com>
To: "Jonathan Avila" <jon.avila@ssbbartgroup.com>; <w3c-wai-ig@w3.org>
Sent: Wednesday, April 24, 2013 3:41 PM
Subject: RE: Virtual Buffer Refresh


Unfortunately I have already tried using the role="region"
aria-live="polite" and even added aria-atomic="true" with only limited
success.  The issue I am having is once the postback is complete, the
screen reader announces every subsequent input type as the same type as
the control that changed originally to effect the postback.  If I do a
"hard" refresh of the buffer from the keyboard (ins+esc) everything is
fine.  I was hoping there was some way I could do a hard refresh using
javascript or some combination of aria tags.

Greg Davies

-----Original Message-----
From: Jonathan Avila [mailto:jon.avila@ssbbartgroup.com]
Sent: Wednesday, April 24, 2013 2:14 PM
To: Greg Davies; w3c-wai-ig@w3.org
Subject: RE: Virtual Buffer Refresh

> Does anyone have a way of refreshing the virtual buffer through either
ARIA tags, or javascript.  I can force a refresh

Use of aria-live regions or certain roles that are implicit live regions
should work with ARIA supported assistive technologies and browsers.
Freedom Scientific also produced a tech support notice many years ago that
listed many possible techniques.

Some of the techniques are listed on webAccessibility.com and include
changing values in hidden input fields, removing and adding nodes in the
DOM, and changing attributes on elements.

https://www.webaccessibility.com/best_practices.php?best_practice_id=968

Adding and removing nodes in the DOM is likely the best method.

Jonathan

-----Original Message-----
From: Greg Davies [mailto:GDavies@jackhenry.com]
Sent: Wednesday, April 24, 2013 2:56 PM
To: w3c-wai-ig@w3.org
Subject: Virtual Buffer Refresh

Everyone,

Does anyone have a way of refreshing the virtual buffer through either
ARIA tags, or javascript.  I can force a refresh from the keyboard and
that clears up the problem  but I have not been able to force a refresh
through code.  I have tried aria-live but that solution is only partially
successful.  Thank you in advance.

Greg Davies
NOTICE: This electronic mail message and any files transmitted with it are
intended exclusively for the individual or entity to which it is
addressed.
The message, together with any attachment, may contain confidential and/or
privileged information.
Any unauthorized review, use, printing, saving, copying, disclosure or
distribution is strictly prohibited. If you have received this message in
error, please immediately advise the sender by reply email and delete all
copies.
NOTICE: This electronic mail message and any files transmitted with it are
intended exclusively for the individual or entity to which it is
addressed. The message, together with any attachment, may contain
confidential and/or privileged information.
Any unauthorized review, use, printing, saving, copying, disclosure or
distribution is strictly prohibited. If you have received this message in
error, please immediately advise the sender by reply email and delete all
copies.


NOTICE: This electronic mail message and any files transmitted with it are
intended exclusively for the individual or entity to which it is
addressed. The message, together with any attachment, may contain
confidential and/or privileged information.
Any unauthorized review, use, printing, saving, copying, disclosure or
distribution is strictly prohibited. If you have received this message in
error, please immediately advise the sender by reply email and delete all
copies.
Received on Thursday, 25 April 2013 14:47:33 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 13 October 2015 16:21:48 UTC