New ATK: Implement nsIAccessibleValue on nsAccessible

RESOLVED FIXED

Status

()

Core
Disability Access APIs
RESOLVED FIXED
11 years ago
9 years ago

People

(Reporter: Aaron Leventhal, Assigned: Aaron Leventhal)

Tracking

({access})

Trunk
x86
All
access
Points:
---
Dependency tree / graph

Firefox Tracking Flags

(Not tracked)

Details

Attachments

(2 attachments)

(Assignee)

Description

11 years ago
Any widget can have a value if it has aaa:valuenow/valuemin/valuemax attributes.

Therefore nsIAccessibleValue should be implemented by nsAccessible whenever there is a role which supports value.

if (mRoleMapEntry && mRoleMapEntry->valueRule != eNoValue) {
  // Support nsIAccessibleValue
}

If we put this in nsAccessible::QueryInterface one issue is that progress meters already implement nsIAccessibleValue would now inherit the interface twice. So, we will have to remove it from the deifinition of the nsXULProgresMeterAccessible class, but still implement the interface for that class, and thus make sure QI still works.
(Assignee)

Updated

11 years ago
Depends on: 340822
(Assignee)

Comment 1

11 years ago
Also remove nsXULProgressMeterAccessibleWrap and implement that in nsXULProgressMeterAccessible cross platform class.
(Assignee)

Updated

11 years ago
Status: NEW → RESOLVED
Last Resolved: 11 years ago
Resolution: --- → FIXED
(Assignee)

Updated

11 years ago
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(Assignee)

Updated

11 years ago
Status: REOPENED → ASSIGNED
(Assignee)

Comment 2

11 years ago
Created attachment 225006 [details] [diff] [review]
See bug comment for description of changes

1) Get rid of unnecessary nsAccessible::GetFinalValue(), just use GetValue()
2) Use nsresult return code instead of boolean success parameter for nsIAccessibleValue::setCurrentValue
3) Add support for minimumIncrement
4) Remove nsXULProgressMeterAccessibleWrap and put into cross platform class
5) Support nsIAccessibleValue in nsAccessible when a DHTML role is used that supports values
Attachment #225006 - Flags: review?(ginn.chen)

Comment 3

11 years ago
Comment on attachment 225006 [details] [diff] [review]
See bug comment for description of changes

Most of the codes look good to me.

+    aIface->set_current_value = getMinimumIncrementCB;
It's a typo.

And we need to clean up accessible/src/atk/nsXULFormControlAccessible.cpp line 47-53.
Attachment #225006 - Flags: review?(ginn.chen) → review+
(Assignee)

Comment 4

11 years ago
Created attachment 225693 [details] [diff] [review]
Patch for checkin
(Assignee)

Updated

11 years ago
Status: ASSIGNED → RESOLVED
Last Resolved: 11 years ago11 years ago
Resolution: --- → FIXED
(Assignee)

Comment 5

11 years ago
Backing out for now. Checkin accidentally removed some files.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
(Assignee)

Updated

11 years ago
Status: REOPENED → RESOLVED
Last Resolved: 11 years ago11 years ago
Resolution: --- → FIXED

Updated

9 years ago
Depends on: 475901
You need to log in before you can comment on or make changes to this bug.