Closed Bug 340825 Opened 18 years ago Closed 18 years ago

New ATK: Implement nsIAccessibleValue on nsAccessible

Categories

(Core :: Disability Access APIs, defect)

x86
All
defect
Not set
normal

Tracking

()

RESOLVED FIXED

People

(Reporter: aaronlev, Assigned: aaronlev)

References

Details

(Keywords: access)

Attachments

(2 files)

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.
Depends on: 340822
Also remove nsXULProgressMeterAccessibleWrap and implement that in nsXULProgressMeterAccessible cross platform class.
Status: NEW → RESOLVED
Closed: 18 years ago
Resolution: --- → FIXED
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Status: REOPENED → ASSIGNED
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 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+
Status: ASSIGNED → RESOLVED
Closed: 18 years ago18 years ago
Resolution: --- → FIXED
Backing out for now. Checkin accidentally removed some files.
Status: RESOLVED → REOPENED
Resolution: FIXED → ---
Status: REOPENED → RESOLVED
Closed: 18 years ago18 years ago
Resolution: --- → FIXED
Depends on: 475901
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: