Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#4185 closed defect (fixed)

progressbar valuenow allows invalid type

Reported by: guest Owned by: simonjb
Priority: high Milestone: 1.0
Component: Accessibility Version: 0.9
Keywords: Cc: davidb
Blocked By: Blocking:

Description (last modified by davidb)

(Note: Summary used to be "Dojo progressbars are not triggering object:property-change:accessible-value events")

The Mozilla guys recently fixed the AT-SPI Value interface bug https://bugzilla.mozilla.org/show_bug.cgi?id=389851 which affected both sliders and progressbars. Dojo sliders check out fine but the progressbars are not triggering AT-SPI object:property-change:accessible-value events. Here is a link to a working progressbar http://www.mozilla.org/access/dhtml/progressbar

Attachments (1)

4185.diff (1016 bytes) - added by simonjb 12 years ago.

Download all attachments as: .zip

Change History (12)

comment:1 Changed 12 years ago by guest

I made an error. The AT-SPI object:property-change:accessible-value events are being triggered. The problem is that IValue.currentValue is always 0.0

comment:2 Changed 12 years ago by Adam Peller

Milestone: 1.0
Owner: changed from anonymous to simonjb

Simon, your thoughts on this?

comment:3 Changed 12 years ago by simonjb

It looks to me like the Dojo ProgressBar value is being read by MSAA from Minefield on Windows. It would be good to try out the ProgressBar on Linux to see what differences there are between the Dojo ProgressBar and the one at http://www.mozilla.org/access/dhtml/progressbar. The correct fix here might be to Mozilla rather than Dojo but I'm not entirely sure yet.

comment:4 Changed 12 years ago by simonjb

Component: GeneralAccessibility

comment:5 Changed 12 years ago by simonjb

Milestone: 1.01.1

comment:6 Changed 12 years ago by guest

Part of the problem may be that two similar roles are set. Both wairole=progressbar and role=progressbar are set as seen by the DOM inspector.

comment:7 Changed 12 years ago by guest

cross reference with this Mozilla bug https://bugzilla.mozilla.org/show_bug.cgi?id=400737

The problem lies in the fact that valuenow should report a float and not a value containing '%'

comment:8 Changed 12 years ago by simonjb

"We need to fix Dojo to use a number, and fix the ARIA spec so that it requires that valuenow/valuemin/valuemax is a number. I've send a note to the PFWG to fix the spec."

Aaron Leventhal

https://bugzilla.mozilla.org/show_bug.cgi?id=400737#c9

comment:9 Changed 12 years ago by davidb

Cc: davidb added
Description: modified (diff)
Summary: Dojo progressbars are not triggering object:property-change:accessible-value eventsprogressbar valuenow allows invalid type

Perhaps we should fix this soonish since folks will be looking to dojo for ARIA precedent. I see two bits of work:

  1. fix any tests to use only numbers for valuenow, valuemin, valuemax.
  2. (Optionally) validate and report a type error if necessary.

Changed 12 years ago by simonjb

Attachment: 4185.diff added

comment:10 Changed 12 years ago by simonjb

Resolution: fixed
Status: newclosed

(In [11239]) Set valuenow to this.progress (and set valuemin and valuemax) rather than using this.report(). Fixes #4185: progressbar valuenow allows invalid type.

comment:11 Changed 12 years ago by bill

Milestone: 1.11.0
Note: See TracTickets for help on using tickets.