Opened 6 years ago

Closed 5 years ago

Last modified 5 years ago

#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 6 years ago by bill

Owner: set to seagulf
Status: newpending

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?

comment:2 Changed 6 years ago by seagulf

Status: pendingnew

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 Changed 6 years ago by bill

Component: GeneralDojoX GFX

And what's the test case to reproduce this problem?

comment:4 Changed 6 years ago by seagulf

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 6 years ago by seagulf

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.

Last edited 6 years ago by seagulf (previous) (diff)

comment:6 in reply to:  3 Changed 6 years ago by seagulf

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 6 years ago by bill

Owner: changed from seagulf to Patrick Ruzand
Status: newassigned

Yes, I saw when you explanation originally, thanks, makes sense.

Patrick, who should gfx bugs go to nowadays?

comment:8 Changed 6 years ago by Patrick Ruzand

Owner: changed from Patrick Ruzand to Eric Durocher

Gfx bug should go to edurocher

comment:9 Changed 5 years ago by Jared Jurkiewicz

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 5 years ago by Eric Durocher

Resolution: fixed
Status: assignedclosed

comment:11 Changed 5 years ago by bill

Milestone: tbd1.10
Note: See TracTickets for help on using tickets.