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

Migrate more single-node rules over to virtual nodes #3473

Closed
6 tasks done
WilcoFiers opened this issue May 20, 2022 · 1 comment
Closed
6 tasks done

Migrate more single-node rules over to virtual nodes #3473

WilcoFiers opened this issue May 20, 2022 · 1 comment
Assignees
Labels
performance Performance related issues pr A pr has been created for the issue rules Issue or false result from an axe-core rule virtual tree
Milestone

Comments

@WilcoFiers
Copy link
Contributor

WilcoFiers commented May 20, 2022

Virtual nodes are faster and let axe run synchronously. We migrated a good number of rules over last year, but here are a couple more that I think could be migrated fairly quickly:

@WilcoFiers WilcoFiers added rules Issue or false result from an axe-core rule performance Performance related issues labels May 20, 2022
@WilcoFiers WilcoFiers added this to the Axe-core 4.5 milestone May 20, 2022
@dbowling dbowling self-assigned this Jul 5, 2022
@straker straker assigned dbowling and unassigned dbowling Jul 26, 2022
dbowling added a commit that referenced this issue Aug 2, 2022
* use virtual node

references: #3473
@dbowling dbowling linked a pull request Aug 3, 2022 that will close this issue
dbowling added a commit that referenced this issue Aug 13, 2022
dbowling added a commit that referenced this issue Aug 16, 2022
dbowling added a commit that referenced this issue Aug 18, 2022
dbowling added a commit that referenced this issue Aug 26, 2022
@dbowling dbowling added the pr A pr has been created for the issue label Aug 26, 2022
dbowling added a commit that referenced this issue Aug 29, 2022
@padmavemulapati
Copy link

padmavemulapati commented Aug 30, 2022

After migrated aria-roledescription general fixture to virtual node, no change in the behaviour but refactored.
Script:

<button aria-roledescription="Awesome Button" id="target">Click</button>
  <div role="radio" aria-roledescription="Awesome Radio" id="target">Click</div>
  <div role="main" aria-roledescription="Awesome Main" id="target">The main element</div>
  <div aria-roledescription="Awesome Main" id="target">The main element</div>
  <div role="presentation" aria-roledescription="Awesome Main" id="target">The main element</div>
  <div role="none" aria-roledescription="Awesome Main" id="target">The main element</div>

image

After migrated aria-text general fixture/single node to virtual node, no change in the behaviour but refactored.
Script:

<button id="target"></button>
  <button id="target"><span tabindex="0">Hello</span></button>
  <button id="target"><span tabindex="-1">Hello</span></button>
  <button id="target"><span role="link" tabindex="-1">Hello</span></button>
  <button id="target"><a href="foo.html">Hello</a></button>
  <button id="target"><input type="checkbox"><a href="foo.html">Hello</a></button>
  <button id="target"><a href="foo.html" tabindex="-1">Hello</a></button>
  <button id="target"><input value="hello" disabled></button>
  <div role="text" id="fail1">
    Still an <a href="#">interactive link</a> because of the author error.
  </div>
  <div role="text" id="fail2">
    <a href="#" role="none">Flattened text</a> because of the explicit role.
  </div>
  <div role="text" id="fail3">
    <a href="#" tabindex="-1" role="none">Flattened text</a> because of the
    explicit role.
  </div>
  <p role="text" id="fail4"><button>Hello</button></p>
  <p role="text" id="fail5"><button tabindex="-1">Hello</button></p>

image

After migrated empty-table-header to virual node,
Script:

<table>
          <tr>
            <th id="fail1"></th>
          </tr>
        </table>
    
        <table>
          <tr>
            <td id="fail2" role="rowheader">
              <div style="display: none">Not Ok</div>
            </td>
          </tr>
        </table>
    
        <table>
          <tr>
            <td id="fail3" role="columnheader">
              <div style="display: none">Not Ok</div>
            </td>
          </tr>
        </table>
 

image

After empty-heading migrated to virtual node
Script:

<h1 id="fail1"></h1>
    <h1 id="fail2"><div style="display: none">Not Ok</div></h1>
    <h1 id="fail3"></h1>

image

After presentation-role-conflict migrated to virtual node,

Script:

<li id="violation1" role="presentation" aria-label="My Heading">Hello</li>
<h1 id="violation2" role="none" aria-label="My Heading">Hello</h1>
<div id="inapplicable1" role="presentation">Test</div>
<div id="inapplicable2" role="presentation">Test Button</div> 

image

AFter table-duplicate-name migrated to virtual node:
Script:

<!--table-duplicate-name--> 
       <table id="fail1" summary="some table">
        <caption>
          some table
        </caption>
        <tr>
          <th>AXE</th>
          <td>axe</td>
        </tr>
        <tr>
          <th>AXE</th>
          <td>axe</td>
        </tr>
      </table>

image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
performance Performance related issues pr A pr has been created for the issue rules Issue or false result from an axe-core rule virtual tree
Projects
None yet
Development

No branches or pull requests

3 participants