feat: add AbstractVirtualNode for linting #1627
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Adds a new
AbstractVirtualNode
class that just throws on all required properties and functions. This ensures anyone who implements aVirtualNode
has everything needed to run it throughaxe.runVirtualRule
. I wanted to have it in its own file in thepublic
directory but since theVirtualNode
class extends it it needed to be available before declaring theVirtualNode
class.This allows a JSX styled
VirtualNode
implementation such as:NOTE: by throwing in all required properties and functions, any changes that add new properties or functions could potentially break any libraries who have their own
VirtualNode
implementation which extends theAbstractVirtualNode
. Those libraries should be encouraged to pin to specific versions of axe-core in order to not break on new releases to theAbstractVirtualNode
class.Linked issue: #1551
Reviewer checks
Required fields, to be filled out by PR reviewer(s)