Closed
Bug 154704
Opened 23 years ago
Closed 22 years ago
no accessible event fired as user exits menus
Categories
(Core :: Disability Access APIs, defect, P1)
Tracking
()
RESOLVED
FIXED
mozilla1.2alpha
People
(Reporter: aaronlev, Assigned: aaronlev)
References
Details
(Keywords: access)
Attachments
(2 files, 2 obsolete files)
2.99 KB,
patch
|
mozilla
:
review+
jag+mozilla
:
superreview+
|
Details | Diff | Splinter Review |
6.14 KB,
patch
|
aaronlev
:
review+
jag+mozilla
:
superreview+
|
Details | Diff | Splinter Review |
As the user exits the menus, an MSAA focus event should be fired to indicate
Assignee | ||
Comment 1•23 years ago
|
||
As the user exits the menus, an MSAA focus event should be fired to indicate
focus is back where it was.
In Mozilla, menu activation does not move the focus. Menu selection highlighting
is achieved with a style rule on menuactive="true". We have to watch out for
problems this will cause.
I'm going to have to create a DOM event that gets fired when the menu bar
becomes activated. This will come out of work on bug 132489 (caret needs to be
hidden while menus are active).
Assignee | ||
Updated•23 years ago
|
Assignee | ||
Comment 2•23 years ago
|
||
This fix depends on the patches currently in bug 132489, and bug 154721
Seeking r=
Comment 3•23 years ago
|
||
Comment on attachment 89532 [details] [diff] [review]
Listens for menu bar changes, and fires accessibility events based on them
r=jgaunt
Attachment #89532 -
Flags: review+
Comment 4•23 years ago
|
||
Comment on attachment 89532 [details] [diff] [review]
Listens for menu bar changes, and fires accessibility events based on them
sr=jag
Attachment #89532 -
Flags: superreview+
Assignee | ||
Comment 5•23 years ago
|
||
Seeking r= for this (the second part of the fix).
Originally this was going to be part of the fix in bug 132489
Assignee | ||
Comment 6•23 years ago
|
||
Jag, Jgaunt, could you r=/sr= the second half of the fix as well?
I had left this out of the first patch because it was originally part of the fix
that turned of caret blinking when the menu bar was activated.
Comment 7•23 years ago
|
||
Comment on attachment 89709 [details] [diff] [review]
2nd half of fix
r=jgaunt
Attachment #89709 -
Flags: review+
Comment 8•23 years ago
|
||
Comment on attachment 89709 [details] [diff] [review]
2nd half of fix
>Index: mozilla/layout/xul/base/src/nsBoxFrame.h
>===================================================================
>RCS file: /cvsroot/mozilla/layout/xul/base/src/nsBoxFrame.h,v
>retrieving revision 1.72
>diff -u -r1.72 nsBoxFrame.h
>--- mozilla/layout/xul/base/src/nsBoxFrame.h 21 Feb 2002 13:39:39 -0000 1.72
>+++ mozilla/layout/xul/base/src/nsBoxFrame.h 28 Jun 2002 09:52:51 -0000
>@@ -253,7 +253,8 @@
> protected:
> nsresult RegUnregAccessKey(nsIPresContext* aPresContext,
> PRBool aDoReg);
>-
>+ NS_IMETHOD FireDOMEvent(nsIPresContext *aPresContext, const nsAString& aDOMEventName);
>+
nsresult, not NS_IMETHOD. Or better yet, keep it |void| since you're not doing
anything with the return value anyway.
> private:
> friend class nsBoxFrameInner;
> friend class nsBoxDebug;
>Index: mozilla/layout/xul/base/src/nsMenuFrame.cpp
>===================================================================
>RCS file: /cvsroot/mozilla/layout/xul/base/src/nsMenuFrame.cpp,v
>retrieving revision 1.226
>diff -u -r1.226 nsMenuFrame.cpp
>--- mozilla/layout/xul/base/src/nsMenuFrame.cpp 11 Jun 2002 20:46:35 -0000 1.226
>+++ mozilla/layout/xul/base/src/nsMenuFrame.cpp 28 Jun 2002 09:52:53 -0000
>@@ -594,7 +574,7 @@
> domEventToFire.Assign(NS_LITERAL_STRING("DOMMenuItemInactive"));
> }
>
>- FireMenuDOMEvent(domEventToFire);
>+ nsBoxFrame::FireDOMEvent(mPresContext, domEventToFire);
> return NS_OK;
> }
>
No need for the nsBoxFrame:: prefix here.
Attachment #89709 -
Flags: needs-work+
Assignee | ||
Comment 9•23 years ago
|
||
Attachment #89709 -
Attachment is obsolete: true
Assignee | ||
Updated•23 years ago
|
Attachment #89834 -
Attachment is obsolete: true
Assignee | ||
Comment 10•23 years ago
|
||
Assignee | ||
Comment 11•23 years ago
|
||
Comment on attachment 89836 [details] [diff] [review]
whole fix (with Jag's changes)
Carrying over jgaunt's r=
Attachment #89836 -
Flags: review+
Comment 12•23 years ago
|
||
Comment on attachment 89836 [details] [diff] [review]
whole fix (with Jag's changes)
sr=jag
Attachment #89836 -
Attachment description: 2nd half of fix with Jag's changes → whole fix (with Jag's changes)
Attachment #89836 -
Flags: superreview+
Comment 13•23 years ago
|
||
This fixes causes OS/2 to crash popping down menus.
Here is the callstack:
Function
0x0013F5CA
NS_AllocateContiguousHandleWithData(const nsSharedBufferHandle<unsigned
short>*,unsigned int,const nsAString*)
NS_AllocateContiguousHandleWithData(const nsSharedBufferHandle<unsigned
short>*,const nsAString&,unsigned int)
nsSharableString::do_AssignFromReadable(const nsAString&)
nsAString::Assign(const nsAString&)
nsSharableString::operator=(const nsAString&)
nsPromiseFlatString::nsPromiseFlatString(const nsAString&)
PromiseFlatString(const nsAString&)
GetAtomHashEntry(const nsAString&)
NS_NewAtom(const nsAString&)
nsDOMEvent::SetEventType(const nsAString&)
nsDOMEvent::InitEvent(const nsAString&,int,int)
nsBoxFrame::FireDOMEvent(nsIPresContext*,const nsAString&)
nsMenuBarFrame::SetActive(int)
nsMenuFrame::OpenMenuInternal(int)
nsMenuFrame::AttributeChanged(nsIPresContext*,nsIContent*,int,nsIAtom*,int,int)
nsCSSFrameConstructor::AttributeChanged(nsIPresContext*,nsIContent*,int,nsIAtom*,int,int)
StyleSetImpl::AttributeChanged(nsIPresContext*,nsIContent*,int,nsIAtom*,int,int)
PresShell::AttributeChanged(nsIDocument*,nsIContent*,int,nsIAtom*,int,int)
nsXULDocument::AttributeChanged(nsIContent*,int,nsIAtom*,int,int)
nsXULElement::SetAttr(nsINodeInfo*,const nsAString&,int)
nsXULElement::SetAttribute(const nsAString&,const nsAString&)
nsMenuFrame::OpenMenu(int)
nsMenuFrame::ToggleMenuState()
nsMenuFrame::HandleEvent(nsIPresContext*,nsGUIEvent*,nsEventStatus*)
PresShell::HandleEventInternal(nsEvent*,nsIView*,unsigned int,nsEventStatus*)
PresShell::HandleEvent(nsIView*,nsGUIEvent*,nsEventStatus*,int,int&)
nsViewManager::HandleEvent(nsView*,nsGUIEvent*,int)
nsView::HandleEvent(nsViewManager*,nsGUIEvent*,int)
nsViewManager::DispatchEvent(nsGUIEvent*,nsEventStatus*)
HandleEvent
nsWindow::DispatchEvent(nsGUIEvent*,nsEventStatus&)
nsWindow::DispatchWindowEvent(nsGUIEvent*)
nsWindow::DispatchMouseEvent(unsigned int,void*,void*)
nsWindow::ProcessMessage(unsigned long,void*,void*,void*&)
fnwpNSWindow
0x1E935800
nsAppShell::Run()
nsAppShellService::Run()
main1(int,char**,nsISupports*)
main
_start
0x1C04C183
Comment 14•23 years ago
|
||
+ FireDOMEvent(mPresContext, mIsActive? NS_LITERAL_STRING("DOMMenuBarActive"):
NS_LITERAL_STRING("DOMMenuBarInactive"));
This is probably broken on OS/2 (ask your compiler team, they'll know ;).
mkaply: can you change that to something like:
NS_NAMED_LITERAL_STRING(active, "DOMMenuBarActive")
NS_NAMED_LITERAL_STRING(inactive, "DOMMenuBarInactive")
FireDOMEvent(mPresContext, mIsActive ? active : inactive);
Comment 15•23 years ago
|
||
This patch does fix OS/2.
Assignee | ||
Comment 16•22 years ago
|
||
checked in a while back.
Status: ASSIGNED → RESOLVED
Closed: 22 years ago
Resolution: --- → FIXED
Comment 17•6 years ago
|
||
Keywords: sec508
You need to log in
before you can comment on or make changes to this bug.
Description
•