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

Make ARIA reflection polyfill optional #3195

Closed
nolanlawson opened this issue Nov 23, 2022 · 1 comment · Fixed by #3197
Closed

Make ARIA reflection polyfill optional #3195

nolanlawson opened this issue Nov 23, 2022 · 1 comment · Fixed by #3197
Labels

Comments

@nolanlawson
Copy link
Collaborator

See: #2733 (comment)

Steps:

  1. Create a feature flag
  2. When the flag is enabled, do not apply the ARIA reflection poyfill to the global Element.prototype
  3. Instead, when the flag is enabled, apply it selectively only to LightningElement

This should be the minimum we can do to get rid of the global polyfill while not totally breaking backwards compatibility. It shouldn't require any template compiler changes, and the only thing it would break is:

const div = document.createElement('div')
div.ariaActiveDescendant = 'foo'
div.getAttribute('aria-activedescendant') // "foo" because reflected by the polyfill

On LightningElements, the ARIA property/attribute reflection would continue working like before.

However, since this is technically a breaking/observable change, all observable changes should be behind the flag.

@git2gus
Copy link

git2gus bot commented Nov 23, 2022

This issue has been linked to a new work item: W-12107800

@nolanlawson nolanlawson changed the title Make ARIA polyfill optional Make ARIA reflection polyfill optional Nov 23, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

1 participant