Make editor accessible via MSAA

RESOLVED FIXED

Status

()

Core
Disability Access APIs
RESOLVED FIXED
15 years ago
15 years ago

People

(Reporter: Aaron Leventhal, Assigned: Aaron Leventhal)

Tracking

({sec508, topembed+})

Trunk
x86
All
sec508, topembed+
Points:
---

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(1 attachment)

(Assignee)

Description

15 years ago
The last main component of Mozilla that is not accessible is the editor. This
includes any type of editor, via <editor>, created by embeddors, or via Midas.

Comment 1

15 years ago
dupe of bug 193788 ?

Comment 2

15 years ago
Aaron, I've already made some progress on this, see bug 193788 (I haven't posted
my patch there). But my patch is mainly aimed at the ATK interfaces, such as
ATKText & ATKEditableText, so maybe you can do some better work on the XP part.

Comment 3

15 years ago
Jo, they are not completely same, bug 193788 will focus on the ATK implementation.
(Assignee)

Comment 4

15 years ago
Created attachment 122299 [details] [diff] [review]
Makes editor and midas accessible, keeps accessibility cache updated as text is edited
(Assignee)

Updated

15 years ago
Attachment #122299 - Flags: review?(kyle.yuan)
(Assignee)

Comment 5

15 years ago
Sorry Kyle, I did not realize you have already been working on this.

However, I think my new patch is good even though it doesn't do everything ATK
needs. You can still add ATK event support to what I have done. You will use
nsIEditActionListener, correct?

The new patch works together with the mutation event listeners and the cache to
do the right thing. It also makes sure to expose the correct state for text
objects, so that they are not "READONLY". It also makes sure links in the editor
are not considered "FOCUSABLE".

Comment 6

15 years ago
That's fine. My work was mainly in the ATK part...

BTW, our team is in a 5 days national holiday (May 1-5), so if you are in a
hurry, you have to ask someone else to review this.

Comment 7

15 years ago
Adjust summary to reduce confusion with UI accessibility
Summary: Make editor accessible → Make editor accessible via MSAA

Comment 8

15 years ago
Comment on attachment 122299 [details] [diff] [review]
Makes editor and midas accessible, keeps accessibility cache updated as text is edited

1) In nsDocAccessible::CheckForEditor()
+  // Add edit action listener if editor
+  nsCOMPtr<nsIScriptGlobalObject> ourGlobal;
The comment is wrong.

2) In nsDocAccessible::Init()
+	   SetAccParent(accParent);
+	   if (accParent) {
+	     accParent->SetAccFirstChild(this);
+	   }
It's better to put |SetAccParent(accParent)| inside |if (accParent) {}|

3) In void nsDocAccessible::RemoveContentDocListeners()
+
+  mEditor = nsnull;
+
You release mEditor twice, another once is in nsDocAccessible::Shutdown().

r=kyle with above changes.
Attachment #122299 - Flags: review?(kyle.yuan) → review+

Comment 9

15 years ago
I found a typo in
http://lxr.mozilla.org/seamonkey/source/accessible/src/msaa/nsDocAccessibleWrap.
cpp#189
|role == EVENT_OBJECT_REORDER| should be |aEvent == EVENT_OBJECT_REORDER|.
Aaron, could you also fix that in this patch?
(Assignee)

Comment 10

15 years ago
Comment on attachment 122299 [details] [diff] [review]
Makes editor and midas accessible, keeps accessibility cache updated as text is edited

I've made Kyle's changes. Will post a new patch if requested to do so.
Attachment #122299 - Flags: superreview?(sfraser)
(Assignee)

Comment 11

15 years ago
Kyle, thanks for finding that line with EVENT_OBJECT_REORDER. We actually don't
need that anymore.

Updated

15 years ago
Blocks: 204128

Updated

15 years ago
Keywords: topembed+
(Assignee)

Comment 12

15 years ago
Comment on attachment 122299 [details] [diff] [review]
Makes editor and midas accessible, keeps accessibility cache updated as text is edited

Moving sr= request to jst, since Simon is doomed with other bugs.
Attachment #122299 - Flags: superreview?(sfraser) → superreview?(jst)
Comment on attachment 122299 [details] [diff] [review]
Makes editor and midas accessible, keeps accessibility cache updated as text is edited

- In nsDocAccessible.h:

+    nsCOMPtr<nsIEditor> mEditor; // Editor, if there is one
+    PRBool mIsEditor;

There are other PRPackedBool's in there, could this be moved next to another
one to save some memory.

sr=jst
Attachment #122299 - Flags: superreview?(jst) → superreview+
(Assignee)

Comment 14

15 years ago
Comment on attachment 122299 [details] [diff] [review]
Makes editor and midas accessible, keeps accessibility cache updated as text is edited

Thanks JST. Okay, will do.

Seeking approval for this topembed bug. This risk is isolated to the
accessibility.dll, and I need this for 1.4.
Attachment #122299 - Flags: approval1.4?

Comment 15

15 years ago
Comment on attachment 122299 [details] [diff] [review]
Makes editor and midas accessible, keeps accessibility cache updated as text is edited

a=asa (on behalf of drivers) for checkin to 1.4
Attachment #122299 - Flags: approval1.4? → approval1.4+
(Assignee)

Comment 16

15 years ago
checked in
Status: NEW → RESOLVED
Last Resolved: 15 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.