New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
"Clickable" reported for each SVG element inside a clickable element. #3976
Comments
Attachment clickableSvgBug.html added by nevans on 2014-03-12 13:56 Edit: imported attachment from trac. |
I would like to sincerely request evaluation of the reported issue and assessment of its relevance to Project Webfix, because there has been none earlier. @jcsteh @feerrenrut @LeonarddeR @ehollig |
Added the attachment to this issue (see comment #3976 (comment)). It would be excellent if someone could try to reproduce this issue and report back. Specifically we want know what browser / browsers it affects or does not affect. (chrome, firefox, IE, Edge). |
All I can think of here is some logic that looks at the actual generation of
the clickable word or the codefor it, stores it and if the next word or code
is also clickableand no command is received in between, suppresses it.
Of course then if the actual element has no text and nothing is spoken, and
the next item is different and also clickable this will not get spoken
either.
I need a lie down, anyway, here is waht firefox does.
Windows 7 64 Firefox 55 Navigating test page cursor down then cursor up then
say all.
nvda latest next, but does the same on other versions
31st July 17
Speaking [LangChangeCommand ('en_GB'), u'Taskbar']
IO - inputCore.InputManager.executeGesture (08:58:35.779):
Input: kb(desktop):alt+tab
IO - speech.speak (08:58:35.811):
Speaking [LangChangeCommand ('en_GB'), u'NVDA "clickable" SVG bug - Mozilla
Firefox icon 1 of 5']
IO - speech.speak (08:58:37.263):
Speaking [LangChangeCommand ('en_GB'), u'NVDA "clickable" SVG bug - Mozilla
Firefox']
DEBUG - treeInterceptorHandler.update (08:58:37.309):
Adding new treeInterceptor to runningTable:
<virtualBuffers.gecko_ia2.Gecko_ia2 object at 0x057EF590>
IO - speech.speak (08:58:37.375):
Speaking [LangChangeCommand ('en_GB'), u'NVDA "clickable" SVG bug']
DEBUG - queueHandler.registerGeneratorObject (08:58:37.375):
Adding generator 1
IO - speech.speak (08:58:37.407):
Speaking [IndexCommand(1), LangChangeCommand ('en_GB'), u'heading level 1',
u'NVDA "clickable" SVG bug']
IO - speech.speak (08:58:37.421):
Speaking [IndexCommand(2), LangChangeCommand ('en_GB'), u'NVDA says
"clickable" for each SVG element inside a clickable element:']
IO - speech.speak (08:58:37.421):
Speaking [IndexCommand(3), LangChangeCommand ('en_GB'), u'clickable',
u'clickable', u'SVG element 1.']
IO - speech.speak (08:58:37.441):
Speaking [IndexCommand(4), LangChangeCommand ('en_GB'), u'clickable', u'SVG
element 2.']
IO - speech.speak (08:58:37.454):
Speaking [IndexCommand(5), LangChangeCommand ('en_GB'), u'clickable', u'SVG
element 3.']
IO - speech.speak (08:58:37.486):
Speaking [IndexCommand(6), LangChangeCommand ('en_GB'), u'The property
pointer-events="none" does not change this behaviour:']
IO - speech.speak (08:58:37.486):
Speaking [IndexCommand(7), LangChangeCommand ('en_GB'), u'clickable',
u'clickable', u'pointer-events="none" SVG element 1.']
IO - speech.speak (08:58:37.503):
Speaking [IndexCommand(8), LangChangeCommand ('en_GB'), u'clickable',
u'pointer-events="none" SVG element 2.']
IO - speech.speak (08:58:37.516):
Speaking [IndexCommand(9), LangChangeCommand ('en_GB'), u'clickable',
u'pointer-events="none" SVG element 3.']
IO - speech.speak (08:58:37.546):
Speaking [IndexCommand(10), LangChangeCommand ('en_GB'), u'Contrast this
with HTML elements, for which NVDA says "clickable" only once:']
IO - speech.speak (08:58:37.546):
Speaking [IndexCommand(11), LangChangeCommand ('en_GB'), u'clickable',
u'HTML element 1.']
IO - inputCore.InputManager.executeGesture (08:58:41.099):
Input: kb(desktop):downArrow
IO - speech.speak (08:58:41.117):
Speaking [LangChangeCommand ('en_GB'), u'NVDA says "clickable" for each SVG
element inside a clickable element:']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:58:41.375):
IARole: p
IO - inputCore.InputManager.executeGesture (08:58:44.947):
Input: kb(desktop):downArrow
IO - speech.speak (08:58:44.970):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'clickable', u'SVG
element 1.']
IO - inputCore.InputManager.executeGesture (08:58:47.523):
Input: kb(desktop):downArrow
IO - speech.speak (08:58:47.543):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'SVG element 2.']
IO - inputCore.InputManager.executeGesture (08:58:49.252):
Input: kb(desktop):downArrow
IO - speech.speak (08:58:49.275):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'SVG element 3.']
IO - inputCore.InputManager.executeGesture (08:58:51.099):
Input: kb(desktop):downArrow
IO - speech.speak (08:58:51.131):
Speaking [LangChangeCommand ('en_GB'), u'The property pointer-events="none"
does not change this behaviour:']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:58:51.358):
IARole: p
IO - inputCore.InputManager.executeGesture (08:58:54.779):
Input: kb(desktop):downArrow
IO - speech.speak (08:58:54.799):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'clickable',
u'pointer-events="none" SVG element 1.']
IO - inputCore.InputManager.executeGesture (08:58:58.460):
Input: kb(desktop):downArrow
IO - speech.speak (08:58:58.482):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'pointer-events="none"
SVG element 2.']
IO - inputCore.InputManager.executeGesture (08:59:01.828):
Input: kb(desktop):downArrow
IO - speech.speak (08:59:01.855):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'pointer-events="none"
SVG element 3.']
IO - inputCore.InputManager.executeGesture (08:59:05.259):
Input: kb(desktop):downArrow
IO - speech.speak (08:59:05.283):
Speaking [LangChangeCommand ('en_GB'), u'Contrast this with HTML elements,
for which NVDA says "clickable" only once:']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:05.400):
IARole: p
IO - inputCore.InputManager.executeGesture (08:59:09.476):
Input: kb(desktop):downArrow
IO - speech.speak (08:59:09.493):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'HTML element 1.']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:09.766):
IARole: p
IO - inputCore.InputManager.executeGesture (08:59:11.460):
Input: kb(desktop):downArrow
IO - speech.speak (08:59:11.490):
Speaking [LangChangeCommand ('en_GB'), u'HTML element 2.']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:11.640):
IARole: p
IO - inputCore.InputManager.executeGesture (08:59:12.940):
Input: kb(desktop):downArrow
IO - speech.speak (08:59:12.964):
Speaking [LangChangeCommand ('en_GB'), u'HTML element 3.']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:13.200):
IARole: p
IO - inputCore.InputManager.executeGesture (08:59:14.740):
Input: kb(desktop):downArrow
IO - speech.speak (08:59:14.766):
Speaking [LangChangeCommand ('en_GB'), u'HTML element 3.']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:15.072):
IARole: p
IO - inputCore.InputManager.executeGesture (08:59:18.124):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:18.151):
Speaking [LangChangeCommand ('en_GB'), u'HTML element 2.']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:18.190):
IARole: p
IO - inputCore.InputManager.executeGesture (08:59:19.611):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:19.635):
Speaking [LangChangeCommand ('en_GB'), u'HTML element 1.']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:19.752):
IARole: p
IO - inputCore.InputManager.executeGesture (08:59:21.227):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:21.262):
Speaking [LangChangeCommand ('en_GB'), u'Contrast this with HTML elements,
for which NVDA says "clickable" only once:']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:21.311):
IARole: p
IO - inputCore.InputManager.executeGesture (08:59:25.523):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:25.548):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'clickable',
u'pointer-events="none" SVG element 3.']
IO - inputCore.InputManager.executeGesture (08:59:29.299):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:29.322):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'pointer-events="none"
SVG element 2.']
IO - inputCore.InputManager.executeGesture (08:59:32.651):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:32.677):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'pointer-events="none"
SVG element 1.']
IO - inputCore.InputManager.executeGesture (08:59:36.227):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:36.246):
Speaking [LangChangeCommand ('en_GB'), u'The property pointer-events="none"
does not change this behaviour:']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:36.286):
IARole: p
IO - inputCore.InputManager.executeGesture (08:59:39.411):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:39.431):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'clickable', u'SVG
element 3.']
IO - inputCore.InputManager.executeGesture (08:59:42.171):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:42.190):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'SVG element 2.']
IO - inputCore.InputManager.executeGesture (08:59:44.380):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:44.404):
Speaking [LangChangeCommand ('en_GB'), u'clickable', u'SVG element 1.']
IO - inputCore.InputManager.executeGesture (08:59:46.436):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:46.470):
Speaking [LangChangeCommand ('en_GB'), u'NVDA says "clickable" for each SVG
element inside a clickable element:']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:46.582):
IARole: p
IO - inputCore.InputManager.executeGesture (08:59:50.259):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:50.288):
Speaking [LangChangeCommand ('en_GB'), u'heading level 1', u'NVDA
"clickable" SVG bug']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:50.328):
IARole: h1
IO - inputCore.InputManager.executeGesture (08:59:54.611):
Input: kb(desktop):upArrow
IO - speech.speak (08:59:54.645):
Speaking [LangChangeCommand ('en_GB'), u'heading level 1', u'NVDA
"clickable" SVG bug']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:54.694):
IARole: h1
IO - inputCore.InputManager.executeGesture (08:59:58.252):
Input: kb(desktop):NVDA+downArrow
DEBUG - queueHandler.registerGeneratorObject (08:59:58.259):
Adding generator 2
IO - speech.speak (08:59:58.292):
Speaking [IndexCommand(1), LangChangeCommand ('en_GB'), u'heading level 1',
u'NVDA "clickable" SVG bug']
IO - speech.speak (08:59:58.308):
Speaking [IndexCommand(2), LangChangeCommand ('en_GB'), u'NVDA says
"clickable" for each SVG element inside a clickable element:']
IO - speech.speak (08:59:58.309):
Speaking [IndexCommand(3), LangChangeCommand ('en_GB'), u'clickable',
u'clickable', u'SVG element 1.']
IO - speech.speak (08:59:58.325):
Speaking [IndexCommand(4), LangChangeCommand ('en_GB'), u'clickable', u'SVG
element 2.']
IO - speech.speak (08:59:58.341):
Speaking [IndexCommand(5), LangChangeCommand ('en_GB'), u'clickable', u'SVG
element 3.']
IO - speech.speak (08:59:58.377):
Speaking [IndexCommand(6), LangChangeCommand ('en_GB'), u'The property
pointer-events="none" does not change this behaviour:']
IO - speech.speak (08:59:58.378):
Speaking [IndexCommand(7), LangChangeCommand ('en_GB'), u'clickable',
u'clickable', u'pointer-events="none" SVG element 1.']
IO - speech.speak (08:59:58.385):
Speaking [IndexCommand(8), LangChangeCommand ('en_GB'), u'clickable',
u'pointer-events="none" SVG element 2.']
IO - speech.speak (08:59:58.404):
Speaking [IndexCommand(9), LangChangeCommand ('en_GB'), u'clickable',
u'pointer-events="none" SVG element 3.']
IO - speech.speak (08:59:58.434):
Speaking [IndexCommand(10), LangChangeCommand ('en_GB'), u'Contrast this
with HTML elements, for which NVDA says "clickable" only once:']
IO - speech.speak (08:59:58.437):
Speaking [IndexCommand(11), LangChangeCommand ('en_GB'), u'clickable',
u'HTML element 1.']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (08:59:58.440):
IARole: h1
IO - speech.speak (08:59:58.448):
Speaking [IndexCommand(12), LangChangeCommand ('en_GB'), u'HTML element 2.']
IO - speech.speak (09:00:00.494):
Speaking [IndexCommand(13), LangChangeCommand ('en_GB'), u'HTML element 3.']
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (09:00:00.624):
IARole: p
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (09:00:08.424):
IARole: p
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (09:00:19.342):
IARole: p
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (09:00:23.401):
IARole: p
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (09:00:24.961):
IARole: p
IO - speech.speak (09:00:25.890):
Speaking [IndexCommand(14)]
DEBUG - NVDAObjects.IAccessible.IAccessible._get_role (09:00:25.897):
IARole: p
DEBUG - queueHandler.pumpAll (09:00:27.515):
generator 2 finished
bglists@blueyonder.co.uk
Sent via blueyonder.
Please address personal email to:-
briang1@blueyonder.co.uk, putting 'Brian Gaff'
in the display name field.
|
@feerrenrut commented on Jul 31, 2017, 12:47 AM MDT:
This sounds as most of the chatter comes from chrome, as each element is reported as clickable, contained in a clickable element. |
I can no longer reproduce this with Firefox, IE and Chrome. Probably fixed by #8922. Closing as works for me. |
Reported by nevans on 2014-03-12 13:55
NVDA says "clickable" for each SVG element inside a clickable element. This is unnecessary but also a problem because SVG images can contain large numbers of elements. It would be better if "clickable" was said only once per clickable element, which seems to be the case for HTML elements.
The attachment is an example HTML document to demonstrate the issue.
The text was updated successfully, but these errors were encountered: