Open Bug 470158 Opened 16 years ago Updated 2 years ago

Alert accessible event should not be fired for bookmark page dialog

Categories

(Firefox :: Disability Access, defect)

3.5 Branch
x86
Windows XP
defect

Tracking

()

UNCONFIRMED

People

(Reporter: Jamie, Unassigned)

Details

(Keywords: access)

User-Agent:       Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b3pre) Gecko/20081214 Shiretoko/3.1b3pre
Build Identifier: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.1b3pre) Gecko/20081214 Shiretoko/3.1b3pre

Firefox fires an alert event to accessibility APIs when the bookmark page dialog (entitled "Page Bookmarked" for new bookmarks and accessed from Bookmarks menu -> Bookmark This Page) appears. An alert event is not necessary here because the focus moves inside the dialog. An alert event should only be used where an AT should notify the user that the object has appeared but the focus is not within it.

Reproducible: Always

Steps to Reproduce:
1. Access any web page.
2. Press ctrl+d or select Bookmarks menu -> Bookmark This Page.
Actual Results:  
An alert event is fired on the dialog (actually, the role is grouping in this case). A focus event is fired for the "Name" field.

Expected Results:  
The focus event should be fired, but no alert event should be fired.

Screen readers might use the alert event to read the focusable descendants of the alert object, as such an object normally does not have the focus. This might cause all of the controls in the bookmark page dialog to be read when it appears, which is undesirable.

Note that the latest NVDA code stops this by checking the alert object against the focus and its ancestors. However, I still believe this is a bug which should be fixed.
Keywords: access
Component: Bookmarks & History → Disability Access
QA Contact: bookmarks → disability.access
Jamie, can you explain a bit more how you decide when to ignore the alert? We could perhaps do a similar check in gecko and not fire it in the first place.
(In reply to comment #1)
> Jamie, can you explain a bit more how you decide when to ignore the alert?
First, we ignore alert events on objects which don't have a role of alert.
Second, if the object on which the alert is being fired is an ancestor of the current focus object, we ignore the event. That is, if focus is already inside the alert when the alert event is fired, we know that it's actually a dialog which has received focus and not an alert (which doesn't receive focus).
Version: unspecified → 3.5 Branch
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.