Skip to content
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

When is the "symbol" element mappable? #17

Open
joanmarie opened this issue Sep 2, 2021 · 1 comment
Open

When is the "symbol" element mappable? #17

joanmarie opened this issue Sep 2, 2021 · 1 comment

Comments

@joanmarie
Copy link
Contributor

The SVG-AAM states that symbol is mapped as graphics-object if it meets the criteria for inclusion. What could make it meet that criteria?

The SVG spec's Notes on symbols states:

‘symbol’ elements must never be rendered directly; their only usage is as something that can be referenced using the ‘use’ element. The user agent must set the display property on the ‘symbol’ element to none, as part of the user agent style sheet, and this declaration must have importance over any other CSS rule or presentation attribute.

So I'm having a hard time coming up with what would make this never-rendered, template object be directly included in the accessibility tree. But the associated role-mapping note ends with:

Either the symbol or the use element, or both, may have an associated accessible object, depending on where the author has provided names, descriptions, roles, or interactivity.

Assuming this is indeed correct, it would be helpful to have some concrete example(s) for when:

  • The symbol element is exposed instead of the use element(s)
  • The symbol element is exposed along with the use element(s)

Thanks!

@brennanyoung
Copy link

This appears to be a mistake or oversight. My understanding is that symbol is something like an abstract class in Java (etc.) and is therefore not "real" content until it is referenced by something that is "real" content. For the same reason, a symbol should not permit naming. (The name belongs on the use).

IMO a use element should inherit descriptions, roles, or interactivity from the ancestor symbol (with the potential for the use element to override those fields), but the symbol itself should never be included in the accessibility tree, whether or not it is referenced by use.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants