UNPKG

@joomla/joomla-a11y-checker

Version:

ooa11y is an accessibility and quality assurance tool that visually highlights common accessibility and usability issues.

223 lines (208 loc) 7.99 kB
<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8" /> <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" /> <meta name="description" content="" /> <meta name="author" content="" /> <title>JOOA11Y - The Joomla Accessibility Checker</title> <link rel="icon" type="image/x-icon" href="../assets/favicon.ico" /> <link rel="stylesheet" href="../assets/css/joomla-a11y-checker.min.css" /> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/css/bootstrap.min.css" integrity="sha384-1BmE4kWBq78iYhFldvKuhfTAU6auU8tT94WrHftjDbrCEXSU1oBoqyl2QvZ6jIW3" crossorigin="anonymous"> <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/5.15.4/css/all.min.css" integrity="sha512-1ycn6IcaQQ40/MKBW2W4Rhis/DbILU74C1vSrLJxCq57o941Ym01SwNsOMqvEBFlcgUa6xLiPY/NS5R+E6ztJQ==" crossorigin="anonymous" referrerpolicy="no-referrer" /> <!-- Bootstrap core JS--> <script defer src="https://cdn.jsdelivr.net/npm/bootstrap@5.1.3/dist/js/bootstrap.min.js" integrity="sha384-QJHtvGhmr9XOIpI6YVutG+2QOK9T+ZnN4kzFN1RtK3zEFEIsxhlmWl5/YESvpZ13" crossorigin="anonymous"></script> <!-- Core theme JS--> <script type="module" src="script.js"></script> </head> <body> <nav class="navbar navbar-expand-lg navbar-dark bg-dark"> <div class="container"> <a class="navbar-brand" href="#">Jooa11y - the Joomla Accessibility Checker</a> <button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarSupportedContent" aria-controls="navbarSupportedContent" aria-expanded="false" aria-label="Toggle navigation"><span class="navbar-toggler-icon"></span></button> <div class="collapse navbar-collapse" id="navbarSupportedContent"> <ul class="navbar-nav ms-auto mb-2 mb-lg-0"> <li class="nav-item"><a class="nav-link active" aria-current="page" href="../index.html">Home</a> </li> <li class="nav-item"><a class="nav-link" href="howto.html">How To</a></li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" id="navbarDropdownExamples" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Examples</a> <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdownExamples"> <li><a class="dropdown-item" href="errors.html">Errors</a></li> <li><a class="dropdown-item" href="warnings.html">Warnings</a></li> <li><a class="dropdown-item" href="pass.html">No Errors</a></li> </ul> </li> <li class="nav-item dropdown"> <a class="nav-link dropdown-toggle" id="navbarDropdownTests" href="#" role="button" data-bs-toggle="dropdown" aria-expanded="false">Tests</a> <ul class="dropdown-menu dropdown-menu-end" aria-labelledby="navbarDropdownTests"> <li><a class="dropdown-item" href="headings.html">Headings</a></li> <li><a class="dropdown-item" href="images.html">Images</a></li> <li><a class="dropdown-item" href="links.html">Links</a></li> <li><a class="dropdown-item" href="tables.html">Tables</a></li> <li><hr class="dropdown-divider" /></li> <li><a class="dropdown-item" href="contrast.html">Contrast</a></li> <li><a class="dropdown-item" href="labels.html">Labels</a></li> <li><hr class="dropdown-divider" /></li> <li><a class="dropdown-item" href="audiovideo.html">Audio & Video</a></li> <li><a class="dropdown-item" href="text.html">Text</a></li> <li><a class="dropdown-item" href="fakelists.html">Fake Lists</a></li> <li><a class="dropdown-item" href="iframes.html">iFrames</a></li> <li><a class="dropdown-item" href="pdf.html">PDF Content</a></li> <li><hr class="dropdown-divider" /></li> <li><a class="dropdown-item" href="social.html">Social Media</a></li> </ul> </li> </ul> </div> </div> </nav> <main> <section id="title" class="bg-secondary"> <div class="container"> <div class="text-center text-white py-5"> <h1>Tables</h1> </div> </div> </section> <section id="content"> <div class="container pt-4"> <div class="row"> <div class="col-sm-12"> <h2>Tables</h2> <p>There are 3 simple accessibility tests for a table. Tables with <kbd>role=&apos;presentation&apos;</kbd> will be ignored.</p> <ol> <li>Table must contain at least one table heading or <kbd>th</kbd></li> <li>Table must not contain an empty table heading or empty <kbd>th</kbd></li> <li>Table must not contain any semantic headings (H1, h3, h3...)</li> </ol> <div class="ms-5 pt-4"> <h3>Example 1 - Pass</h3> <table class="table pt-3"> <tbody> <tr class="table-primary"> <th>Event Name</th> <th>Time</th> <th>Location</th> </tr> <tr> <td>Keynote</td> <td>9:00 AM</td> <td>Auditorium</td> </tr> <tr> <td>Lunch</td> <td>12:00 PM</td> <td>Skyline Room</td> </tr> <tr> <td>Closing Dinner</td> <td>5:00 PM</td> <td>Metropolitan Room</td> </tr> </tbody> </table> <h3>Example 2 - Missing table headers</h3> <table class="table pt-3"> <tbody> <tr class="table-primary"> <td>Event Name</td> <td>Time</td> <td>Location</td> </tr> <tr> <td>Keynote</td> <td>9:00 AM</td> <td>Auditorium</td> </tr> <tr> <td>Lunch</td> <td>12:00 PM</td> <td>Skyline Room</td> </tr> <tr> <td>Closing Dinner</td> <td>5:00 PM</td> <td>Metropolitan Room</td> </tr> </tbody> </table> <h3>Example 3 - Table containing empty table header</h3> <table class="table pt-3"> <tbody> <tr class="table-primary"> <th></th> <th>Time</th> <th>Location</th> </tr> <tr> <td>Keynote</td> <td>9:00 AM</td> <td>Auditorium</td> </tr> <tr> <td>Lunch</td> <td>12:00 PM</td> <td>Skyline Room</td> </tr> <tr> <td>Closing Dinner</td> <td>5:00 PM</td> <td>Metropolitan Room</td> </tr> </tbody> </table> <h3>Example 4 - Table containing semantic headings</h3> <table class="table pt-3"> <tbody> <tr class="table-primary"> <th> <h4 style="font-size:1.2em!important">Event</h4> </th> <th> <h4 style="font-size:1.2em!important">Time</h4> </th> <th> <h4 style="font-size:1.2em!important">Location</h4> </th> </tr> <tr> <td>Keynote</td> <td>9:00 AM</td> <td>Auditorium</td> </tr> <tr> <td>Lunch</td> <td>12:00 PM</td> <td>Skyline Room</td> </tr> <tr> <td>Closing Dinner</td> <td>5:00 PM</td> <td>Metropolitan Room</td> </tr> </tbody> </table> </div> </div> </div> </div> </section> </main> <footer class="text-white bg-dark py-3"> <div class="container"> <p class="my-1">By default Jooa11y only checks the parts of the website that is contained inside the &lt;main&gt; landmark. For example, <a href="#">this</a> link will be ignored as it is inside the &lt;footer&gt;.</p><p> If a content editor can't edit it, then Jooa11y doesn't scan it.</p> </div> </footer> </body> </html>