{"id":3691,"date":"2025-12-11T09:17:31","date_gmt":"2025-12-11T17:17:31","guid":{"rendered":"https:\/\/wsu.edu\/digital-accessibility\/?page_id=3691"},"modified":"2025-12-11T16:21:13","modified_gmt":"2025-12-12T00:21:13","slug":"tables-and-accessibility","status":"publish","type":"page","link":"https:\/\/wsu.edu\/digital-accessibility\/core-concepts\/tables\/tables-and-accessibility\/","title":{"rendered":"Tables and Accessibility"},"content":{"rendered":"\n<p>This web page is intentionally created with accessibility errors to demonstrate the functionality of automatic accessibility checkers for web pages. <a href=\"https:\/\/wave.webaim.org\/report#\/https:\/\/wsu.edu\/digital-accessibility\/core-concepts\/tables\/tables-and-accessibility\/\">View this webpage in an accessibility checker (WAVE)<\/a> to help identify accessibility issues in other forms of digital content. <\/p>\n\n\n\n<p><strong>Error Types<\/strong>: Errors <strong>must<\/strong> be fixed. Alerts <strong>should<\/strong> be fixed. These fixes, both errors and alerts, improve the accessibility and usability of the content. <\/p>\n\n\n\n<p><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><strong>Best Practice<\/strong>: Use a data table for comparing information.<\/span> Don&#8217;t use layout tables to position content visually. Know the limits of the tools used to build tables so you can present your information correctly. <\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2>Layout Table<\/h2>\n\n\n<div class=\"wsu-row wsu-row--halves\" >\r\n    \n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<table id=\"tablepress-1\" class=\"tablepress tablepress-id-1\">\n<tbody>\n<tr class=\"row-1\">\n\t<td class=\"column-1\">Screen<\/td><td class=\"column-2\">readers<\/td><td class=\"column-3\">read<\/td>\n<\/tr>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">information<\/td><td class=\"column-2\">across the<\/td><td class=\"column-3\">table,<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">left to right<br \/>\n<\/td><td class=\"column-2\">and<\/td><td class=\"column-3\">top to bottom<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<td class=\"column-1\">thereby<\/td><td class=\"column-2\">making,<\/td><td class=\"column-3\">it<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<td class=\"column-1\">difficult<br \/>\n<\/td><td class=\"column-2\">to<\/td><td class=\"column-3\">understand<br \/>\n<\/td>\n<\/tr>\n<tr class=\"row-6\">\n\t<td class=\"column-1\">information<\/td><td class=\"column-2\">in<\/td><td class=\"column-3\">tables.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-1 from cache -->\n\n\n\n<p><\/p>\n\n<\/div>\r\n\n\n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<p>A layout table is without table headers, a caption, and scope. Its purpose is to place content visually. Most table-building tools will default to a layout table. <\/p>\n\n\n\n<p>A layout table <strong>should not<\/strong> be used to visually layout content.<br>A layout table <strong>must not<\/strong> contain data or content meant for comparison.<\/p>\n\n\n\n<p><strong>Error Type<\/strong>: Alert and Error<\/p>\n\n\n\n<p><strong>Best Practice<\/strong>: Use the content editor&#8217;s ability to create columns and rows to align content visually. <\/p>\n\n<\/div>\r\n\n<\/div>\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h2>Data Table<\/h2>\n\n\n<div class=\"wsu-row wsu-row--halves\" >\r\n    \n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<table id=\"tablepress-2\" class=\"tablepress tablepress-id-2\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">First Name<\/th><th class=\"column-2\">Last Name<\/th><th class=\"column-3\">Room<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Kelly<\/td><td class=\"column-2\">Scott<\/td><td class=\"column-3\">125<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Tate<\/td><td class=\"column-2\">Dakota<\/td><td class=\"column-3\">225<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-2 from cache -->\n\n<\/div>\r\n\n\n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<p>Data tables have table headers, captions, and scope. Its purpose is to compare cells.<\/p>\n\n\n\n<p><\/p>\n\n<\/div>\r\n\n<\/div>\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3>Table Header<\/h3>\n\n\n\n<p>Data tables have table headers that accurately describe the corresponding cells. Table headers are not headings. Most accessibility checkers will identify tables, table headers, and headings. <\/p>\n\n\n\n<p><strong>Error Type<\/strong>: Error<\/p>\n\n\n\n<p><strong>Best Practice<\/strong>: Use the appropriate header on tables. Table headers can be in columns or rows. Usually, it is the first row of the table. It can be in the first column of a table. Multiple rows and columns as headers make tables complex and require additional attributes to ensure assistive technology can read and navigate them appropriately for the data. <\/p>\n\n\n<div class=\"wsu-row wsu-row--halves\" >\r\n    \n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<h4>With Table Headers<\/h4>\n\n\n\n<p>This table uses table headers to designate the topic of each column. <\/p>\n\n\n\n<table id=\"tablepress-2-no-2\" class=\"tablepress tablepress-id-2\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">First Name<\/th><th class=\"column-2\">Last Name<\/th><th class=\"column-3\">Room<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Kelly<\/td><td class=\"column-2\">Scott<\/td><td class=\"column-3\">125<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Tate<\/td><td class=\"column-2\">Dakota<\/td><td class=\"column-3\">225<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-2-no-2 from cache -->\n\n<\/div>\r\n\n\n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<h4>With Headings<\/h4>\n\n\n\n<p>This table incorrectly uses headings to designate the topic. Not only do the headings skip levels, but this table would also be a layout table with data meant to compare information.  This would be considered an accessibility error. <\/p>\n\n\n\n<table id=\"tablepress-5\" class=\"tablepress tablepress-id-5\">\n<tbody>\n<tr class=\"row-1\">\n\t<td class=\"column-1\"><h6>First Name<\/h6><\/td><td class=\"column-2\"><h6>Last Name<\/h6><\/td><td class=\"column-3\"><h6>Room<\/h6><\/td>\n<\/tr>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Kelly<\/td><td class=\"column-2\">Scott<\/td><td class=\"column-3\">125<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Tate<\/td><td class=\"column-2\">Dakota<\/td><td class=\"column-3\">225<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-5 from cache -->\n\n<\/div>\r\n\n<\/div>\n\n\n<p>An example of a <a href=\"https:\/\/www.powermapper.com\/tests\/screen-readers\/tables\/table-th\/\">table with headers<\/a> with various screen readers.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3>Empty Table Header<\/h3>\n\n\n\n<p>Table headers must not be empty. Assistive technology uses the headers as a reference. An empty header doesn&#8217;t provide the context needed when navigating through the table. <\/p>\n\n\n\n<p><strong>Error type<\/strong>: Error<\/p>\n\n\n\n<p><strong>Best Practice<\/strong>: Add text that represents the content preceding in the column or row. <\/p>\n\n\n\n<p>Table creation tools might let you turn an empty table header cell into a data cell. Most table creation tools only designate the first row or column as the header. The best option, if there isn&#8217;t content for the header cell, is to create the table in HTML and change the empty table header to a table cell. <\/p>\n\n\n<div class=\"wsu-row wsu-row--halves\" >\r\n    \n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<table id=\"tablepress-4\" class=\"tablepress tablepress-id-4\">\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\">&nbsp;<\/th><th class=\"column-2\">First Name<\/th><th class=\"column-3\">Last Name<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"row-2\">\n\t<th class=\"column-1\">1<\/th><td class=\"column-2\">Kelly<\/td><td class=\"column-3\">Scott<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<th class=\"column-1\">2<\/th><td class=\"column-2\">Tate <\/td><td class=\"column-3\">Dakota<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<th class=\"column-1\">3<\/th><td class=\"column-2\">Riley<\/td><td class=\"column-3\">Everett<\/td>\n<\/tr>\n<tr class=\"row-5\">\n\t<th class=\"column-1\"><\/th><td colspan=\"2\" class=\"column-2\"><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<!-- #tablepress-4 from cache -->\n\n\n\n<p><\/p>\n\n<\/div>\r\n\n\n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<p><\/p>\n\n<\/div>\r\n\n<\/div>\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3>Table Caption<\/h3>\n\n\n\n<p>A table&#8217;s caption is like a heading for the table and gives people a sense of what it&#8217;s about. Assistive Technology provides a way to navigate by tables. This makes it easy for people to understand what the table is about. <\/p>\n\n\n<div class=\"wsu-row wsu-row--halves\" >\r\n    \n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<table class=\"tablepress\">\n<caption style=\"text-align: left; border: none; background: none; margin: 0px; padding: 0px;\">Participants names and room number<\/caption>\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\" style=\"\">First Name<\/th><th class=\"column-2\">Last Name<\/th><th class=\"column-3\">Room<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"row-2\">\n\t<td class=\"column-1\">Kelly<\/td><td class=\"column-2\">Scott<\/td><td class=\"column-3\">125<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<td class=\"column-1\">Tate<\/td><td class=\"column-2\">Dakota<\/td><td class=\"column-3\">225<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<\/div>\r\n\n\n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<p><\/p>\n\n<\/div>\r\n\n<\/div>\n\n\n<p><strong>Error Type<\/strong>: Alert<\/p>\n\n\n\n<p><strong>Best Practice<\/strong>: Provide a caption for each table on the page. If captions are not available, use headings right before the table, clearly identified, to help people navigate to the information. ARIA can be used to connect the table to the heading.<\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3>Scope<\/h3>\n\n\n\n<p><code>Scope<\/code> is used to help assistive technology associate the header with the cells. As tables get more complex with more than one header row and or column, the scope supports its complexity.<\/p>\n\n\n\n<p><strong>Error Type<\/strong>: Error\/Alert<\/p>\n\n\n\n<p><strong>Best Practice<\/strong>: Use the <code>scope<\/code> attribute when there is more than one set of headers. <\/p>\n\n\n\n<p>See the Web Accessibility Initiative&#8217;s <a href=\"https:\/\/www.w3.org\/WAI\/tutorials\/tables\/two-headers\/\">Tables with Two Headers<\/a> for more details about using <code>scope<\/code>. <\/p>\n\n\n<div class=\"wsu-row wsu-row--halves\" >\r\n    \n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<table class=\"tablepress\">\n<caption style=\"text-align:left;border:none;background:none;margin:0;padding:0;\">Participants place and names<\/caption>\n<thead>\n<tr class=\"row-1\">\n\t<th class=\"column-1\" scope=\"col\">Place<\/th><th class=\"column-2\" scope=\"col\">First Name<\/th><th class=\"column-3\" scope=\"col\">Last Name<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr class=\"row-2\">\n\t<th class=\"column-1\" scope=\"row\">1<\/th><td class=\"column-2\">Kelly<\/td><td class=\"column-3\">Scott<\/td>\n<\/tr>\n<tr class=\"row-3\">\n\t<th class=\"column-1\" scope=\"row\">2<\/th><td class=\"column-2\">Tate <\/td><td class=\"column-3\">Dakota<\/td>\n<\/tr>\n<tr class=\"row-4\">\n\t<th class=\"column-1\" scope=\"row\">3<\/th><td class=\"column-2\">Riley<\/td><td class=\"column-3\">Everett<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n\n<\/div>\r\n\n\n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<p class=\"wsu-spacing-after--none\">The HTML code for the table with scope. Much of the styling or CSS was removed to not distract from the use of <code>scope<\/code>. <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&lt;table&gt;\n&lt;caption&gt;Participants place and names&lt;\/caption&gt;\n&lt;thead&gt;\n&lt;tr&gt;\n\t&lt;th scope=\"col\"&gt;Place&lt;\/th&gt;&lt;th scope=\"col\"&gt;First Name&lt;\/th&gt;&lt;th scope=\"col\"&gt;Last Name&lt;\/th&gt;\n&lt;\/tr&gt;\n&lt;\/thead&gt;\n&lt;tbody&gt;\n&lt;tr&gt;\n\t&lt;th scope=\"row\"&gt;1&lt;\/th&gt;&lt;td&gt;Kelly&lt;\/td&gt;&lt;td&gt;Scott&lt;\/td&gt;\n&lt;\/tr&gt;\n&lt;tr&gt;\n\t&lt;th scope=\"row\"&gt;2&lt;\/th&gt;&lt;td&gt;Tate &lt;\/td&gt;&lt;td&gt;Dakota&lt;\/td&gt;\n&lt;\/tr&gt;\n&lt;tr&gt;\n\t&lt;th scope=\"row\"&gt;3&lt;\/th&gt;&lt;td&gt;Riley&lt;\/td&gt;&lt;td&gt;Everett&lt;\/td&gt;\n&lt;\/tr&gt;\n&lt;\/tbody&gt;\n&lt;\/table&gt;<\/code><\/pre>\n\n<\/div>\r\n\n<\/div>\n\n\n<p>An example of a <a href=\"https:\/\/www.powermapper.com\/tests\/screen-readers\/tables\/table-th-scope\/\">table with scope<\/a> with various screen readers. <\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3>Complex Tables<\/h3>\n\n\n\n<p>Complex tables have multiple header rows, columns, and merged cells.  <\/p>\n\n\n\n<p><strong>Error Type<\/strong>: Error\/Alert<\/p>\n\n\n\n<p><strong>Best Practice<\/strong>: If possible, simplify the table. Can the table be split into multiple, simpler tables? These kinds of tables will most likely need to be created with HTML. Built-in applications or add-ons do not always support adding multiple header rows, columns, or merged cells.<\/p>\n\n\n\n<p>See the Web Accessibility Initiative&#8217;s <a href=\"https:\/\/www.w3.org\/WAI\/tutorials\/tables\/irregular\/\">Tables with Irregular Headers<\/a> and <a href=\"https:\/\/www.w3.org\/WAI\/tutorials\/tables\/multi-level\/\">Tables with Multi-Level Headers<\/a><\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n\n<h3>Empty Cells<\/h3>\n\n\n\n<p>Add screen reader-only text to empty cells, especially for a complex table where the cell is associated with multiple header rows, columns, and merged cells.<\/p>\n\n\n\n<p><span style=\"box-sizing: border-box; margin: 0px; padding: 0px;\"><strong>Best Practice<\/strong>: When using assistive technology to navigate a table with headers usign scope, an empty cell doesn&#8217;t provide enough information.<\/span> Adding screen reader-only text adds more context to the data that isn&#8217;t missed by sighted users. <\/p>\n\n\n\n<hr class=\"wp-block-separator\"\/>\n\n\n<section  class=\"wsu-section  wsu-width--full wsu-color-background--gray-5\"  >\r\n    <div class=\"wsu-section__inner wsu-width--content\">    \n<div class=\"wsu-container  wsu-position--relative\" >\r\n    \n<div class=\"wsu-decorator  wsu-decorator--style-block-gray\" style=\"bottom:-15px;left:-15px;height:60%;width:60%\"><\/div>\n\n<div class=\"wsu-callout wsu-callout--color-crimson wsu-spacing-padding-left--xxmedium wsu-spacing-padding-right--xxmedium wsu-color-background--white wsu-notch--small wsu-position--relative\" >\r\n        \n\n<h2 id=\"accessibility-checks\">Accessibility Checks&nbsp;<\/h2>\n\n\n\n<p>Use this checklist as a guide to ensure your tables are in an accessible format.<\/p>\n\n\n\n<ul class=\"wsu-list--checkmark\"><li>Tables are not layout tables. <strong><em>[Manual]<\/em><\/strong><\/li><li>Tables contain table headers. <strong><em>[Automatic]<\/em><\/strong><\/li><li>Table header cells are not empty. <strong><em>[Manual]<\/em><\/strong><\/li><li>Caption or title\/description identifies the name or purpose of the table. <strong><em>[Manual]<\/em><\/strong><\/li><li>Caption or title\/description is unique for each table. <strong><em>[Manual]<\/em><\/strong><\/li><\/ul>\n\n<\/div>\r\n\n<\/div>\n    <\/div><\/section>\n\n<div class=\"wsu-row  wsu-color-background--white wsu-row--single\" >\r\n    \n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<h2 class=\"wp-block-heading\">Tools for Web Pages<\/h2>\n\n\n\n<ul><li><a href=\"https:\/\/wave.webaim.org\/\"><strong>WAVE<\/strong> (website)<\/a>\u00a0and\u00a0<a href=\"https:\/\/wave.webaim.org\/extension\/\">browser extensions<\/a>: This is a full-page accessibility automatic check. In the Details tab will identify a few table elements.<ul><li><a href=\"https:\/\/blog.pope.tech\/2022\/08\/04\/accessible-headings-training-resources\/#:~:text=Heading%20result%20documentation\">Wave: Heading result documentation<\/a>: These are the WAVE results associated with headings.<\/li><\/ul><\/li><li><a href=\"https:\/\/chrispederick.com\/work\/web-developer\/\"><strong>Web Developer<\/strong> (Browser Add-on)<\/a>: This browser extension features an outline\u00a0tab with\u00a0Outline Table Caption, Outline Table Cells, and Outline Tables options. This may be helpful if the table is styled without borders.<\/li><\/ul>\n\n\n\n<p>Want to check non-web page-based digital content? See the <a href=\"https:\/\/wsu.edu\/digital-accessibility\/testing-tools\/\">Digital Accessibility Testing\/Scanning Tools<\/a> web page for additional resources. <\/p>\n\n<\/div>\r\n\n<\/div>\n\n<section  class=\"wsu-section wsu-width--full wsu-spacing-after--xxmedium\"  >\r\n    <div class=\"wsu-section__inner wsu-width--content\">    \n\n<h2>Additional Support<\/h2>\n\n\n<div class=\"wsu-row wsu-row--single\" >\r\n    \n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<h3>Analyze the Table<\/h3>\n\n\n\n<ul><li>Is the layout table being used to place content in a specific layout? <\/li><li>Is the layout table comparing data?<\/li><li>Does the data table have empty header cells?<\/li><li>Does the table need a caption to help identify it?<\/li><li>Does the data table have multiple header rows or columns?<\/li><li>Is the data table using <code>scope<\/code> for the multiple rows and columns?<\/li><li>Is it a complex table with multiple rows, columns, and merged cells?<\/li><li>Can the complex table be broken apart into simpler tables?<\/li><\/ul>\n\n<\/div>\r\n\n<\/div>\n\n<div class=\"wsu-row wsu-row--single\" >\r\n    \n<div class=\"wsu-column\"  style=\"\">\r\n\t\n\n<h3 class=\"wp-block-heading\">Resources<\/h3>\n\n\n<ul class=\"wsu-content-list wsu-list--style-arrow wsu-list--columns-1 \">\n\t\t\t<li class=\"wsu-content-list__item\">\n\t\t\t<a href=\"https:\/\/blog.pope.tech\/2023\/08\/22\/beginners-guide-to-accessible-tables\/\" class=\"wsu-content-list__item-title\">Beginner\u2019s guide to accessible tables<\/a>\n\t\t\t<div class=\"wsu-content-list__item-details\">\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t<strong>Source:<\/strong> Pope Tech\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\n<p>There are two types of tables: data and layout tables. Data tables organize information using headers. Layout tables add structure to a webpage, like columns, and should be avoided.<\/p>\n\n\t\t\t\t\t\t\t<div class=\"wsu-content-list__item-taxonomies\">\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<strong>Tags:<\/strong>\n\t\t\t\t\t\t\tArticle\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t<li class=\"wsu-content-list__item\">\n\t\t\t<a href=\"https:\/\/blog.usablenet.com\/common-accessibility-challenges-when-navigating-tables\" class=\"wsu-content-list__item-title\">Common Accessibility Challenges When Navigating Tables<\/a>\n\t\t\t<div class=\"wsu-content-list__item-details\">\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t<strong>Source:<\/strong> UsableNet\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\n<p>Some of the most common accessibility challenges faced when navigating online tables with a screen reader.<\/p>\n\n\t\t\t\t\t\t\t<div class=\"wsu-content-list__item-taxonomies\">\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t<li class=\"wsu-content-list__item\">\n\t\t\t<a href=\"https:\/\/stiftelsenfunka.org\/whats-up\/free-friday-webinars\/getting-tables-right-clear-accessible-and-effective\/\" class=\"wsu-content-list__item-title\">Getting tables right: Clear, accessible, and effective<\/a>\n\t\t\t<div class=\"wsu-content-list__item-details\">\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t<strong>Source:<\/strong> Funka Foundation\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\n<p>A video with an overview of tables from the user perspective and some practical tips. <\/p>\n\n\t\t\t\t\t\t\t<div class=\"wsu-content-list__item-taxonomies\">\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<strong>Tags:<\/strong>\n\t\t\t\t\t\t\tJan-2026, Video\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t<li class=\"wsu-content-list__item\">\n\t\t\t<a href=\"https:\/\/afixt.com\/how-to-create-accessible-data-tables-best-practices-for-web-developers\/\" class=\"wsu-content-list__item-title\">How to Create Accessible Data Tables: Best Practices for Web Developers<\/a>\n\t\t\t<div class=\"wsu-content-list__item-details\">\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t<strong>Source:<\/strong> AFixt\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\n<p>Tables help users quickly access and analyze complex information. But for people with disabilities, particularly those relying on assistive technologies like screen readers, tables can be a major barrier if not designed with accessibility in mind.<\/p>\n\n\t\t\t\t\t\t\t<div class=\"wsu-content-list__item-taxonomies\">\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<strong>Tags:<\/strong>\n\t\t\t\t\t\t\tArticle\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t<li class=\"wsu-content-list__item\">\n\t\t\t<a href=\"https:\/\/blog.pope.tech\/2025\/09\/08\/how-to-make-complex-data-accessible-for-users-with-disabilities\/\" class=\"wsu-content-list__item-title\">How to make complex data accessible for users with disabilities<\/a>\n\t\t\t<div class=\"wsu-content-list__item-details\">\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t<strong>Source:<\/strong> Pope Tech\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\n<p>Use these three steps to make sure you use the right data display for your goals, while considering the needs of your users.<\/p>\n\n\t\t\t\t\t\t\t<div class=\"wsu-content-list__item-taxonomies\">\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<strong>Tags:<\/strong>\n\t\t\t\t\t\t\tArticle, Jan-2026\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t<li class=\"wsu-content-list__item\">\n\t\t\t<a href=\"https:\/\/blog.pope.tech\/2025\/09\/08\/making-complex-data-accessible-for-users-with-disabilities-video\/\" class=\"wsu-content-list__item-title\">Make complex data accessible for users with disabilities (video)<\/a>\n\t\t\t<div class=\"wsu-content-list__item-details\">\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t<strong>Source:<\/strong> Pope Tech\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\n<p>Learn two design strategies for making your data more accessible.<\/p>\n\n\t\t\t\t\t\t\t<div class=\"wsu-content-list__item-taxonomies\">\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<strong>Tags:<\/strong>\n\t\t\t\t\t\t\tJan-2026, Video\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t\t\t<li class=\"wsu-content-list__item\">\n\t\t\t<a href=\"https:\/\/www.tpgi.com\/tables-beyond-rows-and-columns\/\" class=\"wsu-content-list__item-title\">Tables: Beyond Rows and Columns<\/a>\n\t\t\t<div class=\"wsu-content-list__item-details\">\n\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t<strong>Source:<\/strong> TPGi\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\n\n<p>The best way to use semantic table markup is to present web content in accessible rows and columns.<\/p>\n\n\t\t\t\t\t\t\t<div class=\"wsu-content-list__item-taxonomies\">\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<span>\n\t\t\t\t\t\t\t<strong>Tags:<\/strong>\n\t\t\t\t\t\t\tArticle, dec-2025\t\t\t\t\t\t<\/span>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t<\/li>\n\t<\/ul>\n\n\n\n<p><\/p>\n\n<\/div>\r\n\n<\/div>\n    <\/div><\/section>","protected":false},"excerpt":{"rendered":"<p>From layout to data tables, understand the accessible way to use tables, headers, caption, and scope.<\/p>\n","protected":false},"author":2695,"featured_media":0,"parent":28,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":[],"categories":[],"tags":[],"wsuwp_university_category":[],"wsuwp_university_location":[],"wsuwp_university_org":[],"_links":{"self":[{"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/pages\/3691"}],"collection":[{"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/users\/2695"}],"replies":[{"embeddable":true,"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/comments?post=3691"}],"version-history":[{"count":39,"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/pages\/3691\/revisions"}],"predecessor-version":[{"id":3762,"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/pages\/3691\/revisions\/3762"}],"up":[{"embeddable":true,"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/pages\/28"}],"wp:attachment":[{"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/media?parent=3691"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/categories?post=3691"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/tags?post=3691"},{"taxonomy":"wsuwp_university_category","embeddable":true,"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/wsuwp_university_category?post=3691"},{"taxonomy":"wsuwp_university_location","embeddable":true,"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/wsuwp_university_location?post=3691"},{"taxonomy":"wsuwp_university_org","embeddable":true,"href":"https:\/\/wsu.edu\/digital-accessibility\/wp-json\/wp\/v2\/wsuwp_university_org?post=3691"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}