Closed Bug 204186 Opened 21 years ago Closed 21 years ago

Make editor accessible via MSAA

Categories

(Core :: Disability Access APIs, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: aaronlev, Assigned: aaronlev)

References

Details

(Keywords: access, topembed+)

Attachments

(1 file)

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.
dupe of bug 193788 ?
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.
Jo, they are not completely same, bug 193788 will focus on the ATK implementation.
Attachment #122299 - Flags: review?(kyle.yuan)
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".
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.
Adjust summary to reduce confusion with UI accessibility
Summary: Make editor accessible → Make editor accessible via MSAA
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+
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?
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)
Kyle, thanks for finding that line with EVENT_OBJECT_REORDER. We actually don't
need that anymore.
Blocks: PhtN7
Keywords: topembed+
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+
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 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+
checked in
Status: NEW → RESOLVED
Closed: 21 years ago
Resolution: --- → FIXED
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: