dequelabs / dequelabs/axe-core
Deprecate all "virtual" commons
- Dominant language
- JavaScript
- Stars
- 7.5k
- Forks
- 933
- Avg merge
- 2d 13h
- Merged PRs (30d)
- 29
Description
When we were working on axe-core 3.0 we imagined we'd have different methods for DOM nodes and virtual DOM nodes. The later would be called with methods ending with `Virtual`. Because of that we ended up with methods like `accessibleText` and `accessibleTextVirtual`. We've moved away from this approach more recently. More and more of axe runs exclusively on VirtualNodes. It's faster, safer, lets us normalise more consistently, etc. It's far better. Where DOM nodes are needed we can easily get at them from `vNode.actualNode`.
So, I would like us to find all `xxxVirtual` methods, make sure their non-virtual counterpart can accept virtual nodes, then deprecate all those `xxVirtual` methods, and remove their use from the code base.
Contributor guide
Research direction
Start by searching the axe-core codebase for methods ending in `Virtual`, including `accessibleTextVirtual`, and compare them with their non-virtual counterparts. Trace uses of `vNode.actualNode` and the existing callers; done means non-virtual methods accept VirtualNodes, `xxxVirtual` methods are deprecated, and their uses are removed.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- accessibility
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 30/100