dequelabs / dequelabs/axe-core

Deprecate all "virtual" commons

Open
#3,896 2 comments 0 reactions 0 assignees View on GitHub
core deprecation tech debt virtual tree
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

Open the contributing 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.