Closed Bug 720148 Opened 12 years ago Closed 12 years ago

ARIA button should expose press action

Categories

(Core :: Disability Access APIs, defect)

defect
Not set
normal

Tracking

()

RESOLVED FIXED
mozilla13

People

(Reporter: surkov, Assigned: murali.sr92)

References

(Blocks 1 open bug)

Details

(Keywords: access, Whiteboard: [good first bug][mentor=surkov.alexander@gmail.com][lang=c++])

Attachments

(1 file)

ARIA button exposes click action while it should expose 'press' action what makes compatible with native button widgets.
1) Introduce ePressAction in EActionRule
2) Change eClickAction to ePressAction in nsARAIMap.cpp for "button" role (http://mxr.mozilla.org/mozilla-central/source/accessible/src/base/nsARIAMap.cpp#108)
3) Fix nsAccessible::GetActionName
4) add tests at actions/test_aria.html (http://mxr.mozilla.org/mozilla-central/source/accessible/tests/mochitest/actions/test_aria.html?force=1)
Whiteboard: [good first bug][mentor=surkov.alexander@gmail.com][lang=c++]
Hi, I'm new here. I am interested in fixing this bug. Can you please guide me? Thanks!
(In reply to Murali from comment #2)
> Hi, I'm new here. I am interested in fixing this bug. Can you please guide
> me? Thanks!

You need to set up your build environment and etc (follow https://developer.mozilla.org/en/Introduction). When you're ready to work on patch then follow instructions given in comment #1. You can use http://mxr.mozilla.org/mozilla-central tool to locate methods, class names etc. If you have question then don't hesitate to ask.
I have made it to step 2 successfully.

Can you please tell me whether my understanding of step 3 is correct?

Change the following in nsAccessible.cpp
1843    case eClickAction:
1844      aName.AssignLiteral("click");
1845      return NS_OK;

to

1843    case ePressAction:
1844      aName.AssignLiteral("press");
1845      return NS_OK;

Also, I'm not quite sure what to do in step 4. Could you please guide me? Thanks! :)
(In reply to Murali from comment #4)
> I have made it to step 2 successfully.
> 
> Can you please tell me whether my understanding of step 3 is correct?
> 
> Change the following in nsAccessible.cpp
> 1843    case eClickAction:
> 1844      aName.AssignLiteral("click");
> 1845      return NS_OK;
> 
> to
> 
> 1843    case ePressAction:
> 1844      aName.AssignLiteral("press");
> 1845      return NS_OK;

add (not replace)

> Also, I'm not quite sure what to do in step 4. Could you please guide me?
> Thanks! :)

you need to find role="button" elements and make sure they expose "press" action (not "click" action). All actions are described by actionsArray variable. To get an idea how these things work exactly you need to look at ../actions.js file.
Could you kindly let me know of the changes I might have to do to this patch? Thank you so much for the help!
Attachment #593048 - Flags: review?(surkov.alexander)
Comment on attachment 593048 [details] [diff] [review]
Buttons made to expose Press Action

r=me, thanks

do you want me to land the patch?
Attachment #593048 - Flags: review?(surkov.alexander) → review+
Assignee: nobody → murali.sr92
Status: NEW → ASSIGNED
Sure, thanks a lot for all the guidance! I am really looking forward to work on more challenging bugs soon! :)
(In reply to Murali from comment #8)
> Sure, thanks a lot for all the guidance! I am really looking forward to work
> on more challenging bugs soon! :)

since you know our tests structure then you might want to look at bug 702560
https://hg.mozilla.org/mozilla-central/rev/42705e4d1175
Status: ASSIGNED → RESOLVED
Closed: 12 years ago
Resolution: --- → FIXED
Target Milestone: --- → mozilla13
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Creator:
Created:
Updated:
Size: