#17433 closed defect (fixed)
iPhone VoiceOver screen reader picks up dummy data that needed to be removed or hidden completely
Reported by: | seagulf | Owned by: | Eric Durocher |
---|---|---|---|
Priority: | undecided | Milestone: | 1.10 |
Component: | DojoX GFX | Version: | 1.9.1 |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
dojo.dojox._base.js file around line 109 can added attribute visibility: "hidden" to hide the generated Div tag content from screen readers. In fact, there might be a better way to not put this generated Div tag contains data once this method is done.
Change History (11)
comment:1 Changed 7 years ago by
Owner: | set to seagulf |
---|---|
Status: | new → pending |
comment:2 Changed 7 years ago by
Status: | pending → new |
---|
it is in dojox.gfx._base.js file line 109. You can add attribute visibility: "hidden" to hide the generated Div tag content from screen readers. Code sample from the file _base.js around line 109:
if(!measuringNode){
measuringNode = domConstruct.create("div", {style: { position: "absolute", top: "-10000px", visibility: "hidden" left: "0" }}, win.body());
}
Thanks.
comment:3 follow-up: 6 Changed 7 years ago by
Component: | General → DojoX GFX |
---|
And what's the test case to reproduce this problem?
comment:4 Changed 7 years ago by
You can exam the HTML DOM in the browser to see the "div" tag is generated as the last object inside "BODY" node when you run the below test case. dojo/dojo-release-1.9.1-src/dojox/charting/tests/test_chart2d.html
This test case is using dojox.gfx._base.js class and called method b._getTextBox() in it, thus the screen reader starts reading out the values inside this generated "div" container to users. This div tag should be removed or complete hidden from the screen reader either to set visibility to hidden or remove if once it is no longer needed.
Thanks.
comment:5 Changed 7 years ago by
Actually all the charting test cases will have this problem, I guess this little method is heavily used to calculate the chart axises width in the DOM node.
comment:6 Changed 7 years ago by
Replying to bill:
And what's the test case to reproduce this problem?
You can exam the HTML DOM in the browser to see the "div" tag is generated as the last object inside "BODY" node when you run the below test case. dojo/dojo-release-1.9.1-src/dojox/charting/tests/test_chart2d.html This test case is using dojox.gfx._base.js class and called method b._getTextBox() in it, thus the screen reader starts reading out the values inside this generated "div" container to users. This div tag should be removed or complete hidden from the screen reader either to set visibility to hidden or remove if once it is no longer needed. Thanks.
comment:7 Changed 7 years ago by
Owner: | changed from seagulf to Patrick Ruzand |
---|---|
Status: | new → assigned |
Yes, I saw when you explanation originally, thanks, makes sense.
Patrick, who should gfx bugs go to nowadays?
comment:8 Changed 7 years ago by
Owner: | changed from Patrick Ruzand to Eric Durocher |
---|
Gfx bug should go to edurocher
comment:9 Changed 7 years ago by
This already has a patch on another bug for the same function. See: https://bugs.dojotoolkit.org/ticket/17178
The patch is CLA (me).
comment:10 Changed 7 years ago by
Resolution: | → fixed |
---|---|
Status: | assigned → closed |
Fixed by GIT commit: https://github.com/dojo/dojox/commit/12774a98c709acd65bd85e09d8beb7ea40e04d2d
comment:11 Changed 7 years ago by
Milestone: | tbd → 1.10 |
---|
There's no such file as dojo.dojox._base.js. Which file did you really mean, which component is the error in (for example dojox/mobile), and what's the test case to reproduce this problem?