From f44c2d3efdaf314d505a4d608afd94ed61d6a3d6 Mon Sep 17 00:00:00 2001 From: "aaronleventhal@moonset.net" Date: Tue, 22 Jan 2008 07:32:20 -0800 Subject: [PATCH] Bug 407359. Fix accessibility issues with popups in main screen UI. r=marcoz, enn, surkov, mano, ui=mconnor, a=blocking1.9 --- accessible/public/nsIAccessibleProvider.idl | 43 ++++++---- accessible/public/nsIAccessibleRole.idl | 4 +- accessible/src/atk/nsRoleMap.h | 2 +- .../src/base/nsAccessibilityService.cpp | 5 ++ accessible/src/base/nsAccessibilityService.h | 2 +- accessible/src/base/nsCaretAccessible.cpp | 2 +- accessible/src/base/nsOuterDocAccessible.cpp | 2 +- accessible/src/base/nsRootAccessible.cpp | 62 ++++++++------ accessible/src/mac/nsRoleMap.h | 2 +- accessible/src/msaa/nsRoleMap.h | 6 +- accessible/src/xul/nsXULAlertAccessible.cpp | 8 ++ accessible/src/xul/nsXULAlertAccessible.h | 1 + accessible/src/xul/nsXULMenuAccessible.cpp | 22 +++-- accessible/src/xul/nsXULSelectAccessible.cpp | 18 +++- accessible/src/xul/nsXULTextAccessible.cpp | 20 ++--- browser/base/content/browser-places.js | 7 +- browser/base/content/browser.js | 28 ++++-- browser/base/content/browser.xul | 15 ++-- .../themes/gnomestripe/browser/browser.css | 5 ++ browser/themes/pinstripe/browser/browser.css | 5 ++ browser/themes/winstripe/browser/browser.css | 5 ++ toolkit/content/widgets/autocomplete.xml | 16 +++- toolkit/content/widgets/popup.xml | 85 ++++++++++++++++--- toolkit/content/widgets/textbox.xml | 6 +- 24 files changed, 260 insertions(+), 111 deletions(-) diff --git a/accessible/public/nsIAccessibleProvider.idl b/accessible/public/nsIAccessibleProvider.idl index 9e6db44fc81d..3f7b22774b1d 100644 --- a/accessible/public/nsIAccessibleProvider.idl +++ b/accessible/public/nsIAccessibleProvider.idl @@ -52,6 +52,12 @@ interface nsIAccessibleProvider : nsISupports * Constants set of common use. */ + /** Do not create an accessible for this object + * This is useful if an ancestor binding already implements nsIAccessibleProvider, + * but no accessible is desired for the inheriting binding + */ + const long NoAccessible = 0; + /** For elements that spawn a new document. For example now it is used by , and . */ const long OuterDoc = 0x00000001; @@ -78,32 +84,33 @@ interface nsIAccessibleProvider : nsISupports const long XULMenuitem = 0x0000100E; const long XULMenupopup = 0x0000100F; const long XULMenuSeparator = 0x00001010; - const long XULProgressMeter = 0x00001011; - const long XULScale = 0x00001012; - const long XULStatusBar = 0x00001013; - const long XULRadioButton = 0x00001014; - const long XULRadioGroup = 0x00001015; + const long XULPane = 0x00001011; + const long XULProgressMeter = 0x00001012; + const long XULScale = 0x00001013; + const long XULStatusBar = 0x00001014; + const long XULRadioButton = 0x00001015; + const long XULRadioGroup = 0x00001016; /** The single tab in a dialog or tabbrowser/editor interface */ - const long XULTab = 0x00001016; + const long XULTab = 0x00001017; /** A combination of a tabs object and a tabpanels object */ - const long XULTabBox = 0x00001017; + const long XULTabBox = 0x00001018; /** The collection of tab objects, useable in the TabBox and independant of as well */ - const long XULTabs = 0x00001018; + const long XULTabs = 0x00001019; - const long XULText = 0x00001019; - const long XULTextBox = 0x0000101A; - const long XULThumb = 0x0000101B; - const long XULTree = 0x0000101C; - const long XULTreeColumns = 0x0000101D; - const long XULTreeColumnItem = 0x0000101E; - const long XULToolbar = 0x0000101F; - const long XULToolbarSeparator = 0x00001020; - const long XULTooltip = 0x00001021; - const long XULToolbarButton = 0x00001022; + const long XULText = 0x0000101A; + const long XULTextBox = 0x0000101B; + const long XULThumb = 0x0000101C; + const long XULTree = 0x0000101D; + const long XULTreeColumns = 0x0000101E; + const long XULTreeColumnItem = 0x0000101F; + const long XULToolbar = 0x00001020; + const long XULToolbarSeparator = 0x00001021; + const long XULTooltip = 0x00001022; + const long XULToolbarButton = 0x00001023; /** diff --git a/accessible/public/nsIAccessibleRole.idl b/accessible/public/nsIAccessibleRole.idl index 8ccbdf191b69..dc43574512c3 100755 --- a/accessible/public/nsIAccessibleRole.idl +++ b/accessible/public/nsIAccessibleRole.idl @@ -110,9 +110,9 @@ interface nsIAccessibleRole : nsISupports const unsigned long ROLE_WINDOW = 9; /** - * XXX: document this. + * A sub-document ( or