Quiz: AJAX - automatically move focus?
Three articles came to light in “Today’s AJAX and DHTML Best Practices.” Two of the articles went to some length to find ways to move focus as part of an AJAX event. They sought to take the visitor from the trigger event to the results in one smooth, easy move. For those of us who are sighted, we are all familiar with “the yellow fade” that catches our eye and focuses our attention on the element that has changed or is changing. Should we do the same for users of assistive technology? Should we try to get the screen readers to jump to the updated content? Both Gez and James attempted exactly that in their articles, with varying degrees of success. On the other hand, Becky advised against trying to move focus.
Do not automatically shift focus on the page when an update occurs. Changing focus without warning can be distracting for some users, especially if there is no easy mechanism to return to the previous position.
While Becky eludes to another reason in her next paragraph, I’ll be more explicit. What about the people who use screen magnifiers? What if the target area is beyond the field of view of the screen magnifier? The same for people with low vision who have bumped up text size. What are the ramifications of moving the page relatively large increments to expose the new focus? Is this a good user experience?
As an aside, has anyone seen statistics on how many people use magnifiers, compared with other assistive technology?
Do these AJAX situations fit the WCAG 2.0 section 3.2 items?
3.2.1 When any component receives focus, it does not cause a change in context.
3.2.2 Changing the setting of any form control or field does not automatically cause a change of context beyond moving to the next field in the tab order, unless the authored unit contains instructions before the control that describe the behavior.
Then there are the “Rich Internet Applications.” While it is one thing to move focus to a calculator’s results window when the “=” key is pressed, it is quite another when an update to a rich internet application causes multiple simultaneous changes. I reviewed a compensation management application a couple of weeks ago, that I’ll briefly describe with only words. Imagine a department of employees shown in a data table, with one row for each employee and loads of columns with information about each employee. Scroll over to the 7th of 18 columns and give Jane Doe a salary increase. Acting upon the increase causes updates to three cells in Jane’s row and several more in the department summary table at the bottom of the page. Where would you move focus?
Q. So, is it a good idea to move focus or not?
- A Yes, for all but those complex rich internet applications, move focus to the event’s results. Depend on the assistive technology catching up at its own pace.
- B Yes, but… Move focus only when the result is immediately adjacent to the event trigger. This will minimize confusion of shifting the page.
- C No. It’s hopeless.
- D No, isn’t that what “live regions” are all about?
October 24th, 2006 at 10:25 am
I would have to vote for “B” in shifting the focus to “immediately adjacent.” But in saying that I’d have to add that posting the entire result “immediately adjacent” wouldn’t be practical in many cases or necessary. I think an immediately adjacent notification and a link to the result might be best in most cases.
Interface Example:
Update your public profile preferences
1) Show Short Profile or 2) Show Extended Profile
Result Example (focus on new line):
Update your public profile preferences
1) Show Short Profile or 2) Show Extended Profile
Results: You just updated your public profile preferences. Would like to see the changes you made?
Something like that might satisfy all needs: needed interactivity, any results, accessibility.
April 10th, 2007 at 4:01 pm
[…] AJAX Automatically Move Focus […]
June 28th, 2007 at 2:31 am
This is quite a nice website on AJAX technology but why it is not updated regularly. Where are Mr. Bob Easten
July 1st, 2007 at 9:23 am
Yeah this site is quite useful.But noone updates it .I have no idea either..
July 20th, 2007 at 1:02 pm
Bob has been busy with new work, leaving little time for updates. The spirit is willing, but the clock is not.
July 19th, 2008 at 10:30 am
how can i find AJAX source? please help me
thans