Open
Bug 1485076
Opened 6 years ago
Updated 2 years ago
The canvas accessibility hack for bug 495912 is observable.
Categories
(Core :: Layout, enhancement, P3)
Core
Layout
Tracking
()
NEW
People
(Reporter: emilio, Unassigned)
References
Details
Attachments
(1 file)
(deleted),
text/html
|
Details |
Bug 495912 introduced a hack that allowed canvas contents to be rendered, by putting them in an anon block.
That not only causes a bunch of extra layout work, but it's observable via CSSOM / cssom-view / DOM methods that depend on layout like innerText.
Can we do something else here?
Reporter | ||
Comment 1•6 years ago
|
||
Reporter | ||
Comment 2•6 years ago
|
||
Alex, can we do something else here to avoid rendering the HTML fallback?
Flags: needinfo?(surkov.alexander)
Comment 3•6 years ago
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #2)
> Alex, can we do something else here to avoid rendering the HTML fallback?
This one is a tricky one: accessible tree heavily relies on a frame tree in addition to a DOM tree. However we don't really need to have it physically rendered. I'm not sure if it will help to performance, but it might be a point of compromise.
Daniel, do you have any thoughts on this?
Flags: needinfo?(surkov.alexander) → needinfo?(dholbert)
Comment 4•6 years ago
|
||
(In reply to alexander :surkov (:asurkov) from comment #3)
> Daniel, do you have any thoughts on this?
Nothing concrete (this is the first I've heard of bug 495912 and I don't know a lot about a11y::layout interactions). Somewhat hand-wavingly: perhaps we could make the canvas-alternative-content-frametree be opt-in, and make the canvas inner-content effectively display:none (no frames) until we detect that there's an a11y tool that needs it?
(Do we do something like that for other a11y APIs?)
Flags: needinfo?(dholbert) → needinfo?(surkov.alexander)
Comment 5•6 years ago
|
||
[triage: this feels P3, unless there's known interop/perf issues from real websites where this is biting us]
Priority: -- → P3
Reporter | ||
Comment 6•6 years ago
|
||
Ideally we wouldn't have a frame tree at all. Having a frame tree is what causes this incompatibility.
Alex, do you have any idea of how often people put something more complex than text in there? Could A11Y use the textContent of the canvas element instead as alternative text?
Comment 7•6 years ago
|
||
(In reply to Emilio Cobos Álvarez (:emilio) from comment #6)
> Ideally we wouldn't have a frame tree at all. Having a frame tree is what
> causes this incompatibility.
agreed, however there's no currently other was to provide geometry for canvas content.
> Alex, do you have any idea of how often people put something more complex
> than text in there? Could A11Y use the textContent of the canvas element
> instead as alternative text?
that was a whole idea of canvas content. You can put there literally anything to make canvas content accessible.
Flags: needinfo?(surkov.alexander)
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•