Last Comment Bug 757372 - [AccessFu] Provide feedback when entering an entry field for editing
: [AccessFu] Provide feedback when entering an entry field for editing
Status: RESOLVED FIXED
:
Product: Core
Classification: Components
Component: Disability Access APIs (show other bugs)
: Trunk
: ARM Android
: -- normal (vote)
: mozilla16
Assigned To: Eitan Isaacson [:eeejay]
:
:
Mentors:
Depends on:
Blocks:
  Show dependency treegraph
 
Reported: 2012-05-22 02:53 PDT by Marco Zehe (:MarcoZ)
Modified: 2012-07-10 20:30 PDT (History)
2 users (show)
See Also:
Crash Signature:
(edit)
QA Whiteboard:
Iteration: ---
Points: ---
Has Regression Range: ---
Has STR: ---


Attachments
Announce "editing" when in editing mode. Use a11y states and focus to determine it. (11.90 KB, patch)
2012-07-05 11:35 PDT, Eitan Isaacson [:eeejay]
dbolter: review+
Details | Diff | Splinter Review

Description Marco Zehe (:MarcoZ) 2012-05-22 02:53:42 PDT
STR:
1. Open a page that has an entry field.
2. navigate to it.
3. Press Enter to focus on it so one can type.

Expected: One should get feedback that one can now type.
Actual: No feedback is given.
Comment 1 Eitan Isaacson [:eeejay] 2012-07-03 14:39:02 PDT
Do we only need feedback when we enter editing mode, or when we exit as well? I have a WIP, and the exit message gets clobbered by the focus move utterance. It sounds self evident that we are now navigating, so I don't see this too much as an issue.

I guess if we add a key to exit editing without arrowing out of it, it should announce something.

Thoughts?
Comment 2 Marco Zehe (:MarcoZ) 2012-07-03 20:40:34 PDT
I agree on both counts. :)
Comment 3 Eitan Isaacson [:eeejay] 2012-07-05 11:35:07 PDT
Created attachment 639413 [details] [diff] [review]
Announce "editing" when in editing mode. Use a11y states and focus to determine it.
Comment 4 David Bolter [:davidb] 2012-07-05 11:56:48 PDT
Comment on attachment 639413 [details] [diff] [review]
Announce "editing" when in editing mode. Use a11y states and focus to determine it.

Review of attachment 639413 [details] [diff] [review]:
-----------------------------------------------------------------

::: accessible/src/jsat/AccessFu.jsm
@@ +368,5 @@
> +
> +        let [,extState] = Utils.getStates(acc);
> +        let editableState = extState &
> +          (Ci.nsIAccessibleStates.EXT_STATE_EDITABLE |
> +           Ci.nsIAccessibleStates.EXT_STATE_MULTI_LINE);

I'm unsure if this captures DesignMode/content editable... might want to // XXX that but I'm also not sure we'll care about it soon. Your call.

::: accessible/src/jsat/Presenters.jsm
@@ +358,5 @@
> +  editingModeChanged: function AndroidPresenter_editingModeChanged(aIsEditing) {
> +    this._appAnnounce(UtteranceGenerator.genForEditingMode(aIsEditing));
> +  },
> +
> +  _appAnnounce: function _appAnnounce(aUtterance) {

Just curious why you named it "appAnnounce"? Is it because this is where we are reminded we are an app(lication) sending an a11y event on android?
Comment 5 Eitan Isaacson [:eeejay] 2012-07-10 16:05:45 PDT
(In reply to David Bolter [:davidb] from comment #4)
> Comment on attachment 639413 [details] [diff] [review]
> Announce "editing" when in editing mode. Use a11y states and focus to
> determine it.
> 
> Review of attachment 639413 [details] [diff] [review]:
> -----------------------------------------------------------------
> 
> ::: accessible/src/jsat/AccessFu.jsm
> @@ +368,5 @@
> > +
> > +        let [,extState] = Utils.getStates(acc);
> > +        let editableState = extState &
> > +          (Ci.nsIAccessibleStates.EXT_STATE_EDITABLE |
> > +           Ci.nsIAccessibleStates.EXT_STATE_MULTI_LINE);
> 
> I'm unsure if this captures DesignMode/content editable... might want to //
> XXX that but I'm also not sure we'll care about it soon. Your call.
> 

Yes, unlike the previous DOM solution, this should account for design mode.

> ::: accessible/src/jsat/Presenters.jsm
> @@ +358,5 @@
> > +  editingModeChanged: function AndroidPresenter_editingModeChanged(aIsEditing) {
> > +    this._appAnnounce(UtteranceGenerator.genForEditingMode(aIsEditing));
> > +  },
> > +
> > +  _appAnnounce: function _appAnnounce(aUtterance) {
> 
> Just curious why you named it "appAnnounce"? Is it because this is where we
> are reminded we are an app(lication) sending an a11y event on android?

An inspiration from JellyBean API where they have an accessibility event just for things like this.
Comment 6 Eitan Isaacson [:eeejay] 2012-07-10 16:12:10 PDT
http://hg.mozilla.org/integration/mozilla-inbound/rev/d540e12b6c6b
Comment 7 Ryan VanderMeulen [:RyanVM] 2012-07-10 20:30:34 PDT
https://hg.mozilla.org/mozilla-central/rev/d540e12b6c6b

Note You need to log in before you can comment on or make changes to this bug.