This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 13669 - Indicating batch changes to the DOM
Summary: Indicating batch changes to the DOM
Status: CLOSED WORKSFORME
Alias: None
Product: HTML WG
Classification: Unclassified
Component: LC1 HTML5 spec (show other bugs)
Version: unspecified
Hardware: All All
: P2 normal
Target Milestone: ---
Assignee: Greg Lowney
QA Contact: HTML WG Bugzilla archive list
URL:
Whiteboard:
Keywords: a11y
Depends on:
Blocks:
 
Reported: 2011-08-04 03:55 UTC by Greg Lowney
Modified: 2012-01-06 00:41 UTC (History)
10 users (show)

See Also:


Attachments

Description Greg Lowney 2011-08-04 03:55:33 UTC
There should be a method by which a script can signal the beginning and end of a batch of related changes to the document object. This will allow assistive technology to avoid dealing with transient intermediate states.

Ideally it would be possible to indicate a specific portion of the document that is changing.

This could also be implemented using a flag indicating a change is in progress.

Use case: Nadia is using a screen reader while interacting with a page. She activates a button which causes the script to update significant amounts of the page's content, fetching new information from the web in a process that overall takes several seconds, perhaps with a pause or two in the middle. When the changes begin, Nadia's screen reader starts announcing them, but the process goes on with hundreds of different changes. Ideally, the script would fire a pair of events bracketing these changes, so the screen reader could tell Nadia that the page was updating but then not tell her more until the second event told it the update was completed.
Comment 1 Tab Atkins Jr. 2011-08-04 04:13:48 UTC
The new design for mutation events should solve this automatically in most cases.  The actual mutation event won't fire until the script drops back to the event loop, at which point any listeners are given a list of changes that have happened (instead of receiving multiple events, one per change).

So, there shouldn't be any need to make this explicit.
Comment 2 Michael[tm] Smith 2011-08-04 05:35:10 UTC
mass-move component to LC1
Comment 3 Ian 'Hixie' Hickson 2011-08-05 15:40:08 UTC
EDITOR'S RESPONSE: This is an Editor's Response to your comment. If you are satisfied with this response, please change the state of this bug to CLOSED. If you have additional information and would like the editor to reconsider, please reopen this bug. If you would like to escalate the issue to the full HTML Working Group, please add the TrackerRequest keyword to this bug, and suggest title and text for the tracker issue; or you may create a tracker issue yourself, if you are able to do so. For more details, see this document:
   http://dev.w3.org/html5/decision-policy/decision-policy.html

Status: Accepted
Change Description: no spec change
Rationale: 

Even with the mutation events as they are now, so long as the accessibility tool waits for the event loop to spin, it's sufficient. This is actually already defined in the spec: the event loop specifically says that UI is only updated on step 5, between tasks.

Now if the issue is that a script is updating things in multiple tasks, then that's covered by the ARIA live region feature. You would just turn the updates in the region off for a while.
Comment 4 Michael Cooper 2011-09-06 15:20:48 UTC
Bug triage sub-team doesn't think this is a HTML A11Y TF priority because it seems to be addressed. However, if Greg thinks there are still issues, may need to track after all. Assigning to Greg to re-flag or close.