Complete the code to add a caption to the table for screen readers.
<table> [1] <tr><td>Data 1</td><td>Data 2</td></tr> </table>
The
Complete the code to mark the first row as table headers.
<table> <tr>[1]</tr> <tr><td>Data 1</td><td>Data 2</td></tr> </table>
The
Fix the error in the table to correctly associate headers with data cells using scope.
<table> <tr><th [1]>Name</th><th [1]>Age</th></tr> <tr><td>Alice</td><td>30</td></tr> </table>
The scope="col" attribute tells screen readers that these headers apply to columns.
Fill both blanks to create a table with a header section and body section.
<table> [1]> <tr><th scope="col">Product</th><th scope="col">Price</th></tr> [2]> <tbody> <tr><td>Book</td><td>$10</td></tr> </tbody> </table>
The <thead> and </thead> tags wrap the header rows of a table, separating them from the body.
Fill all three blanks to add a summary attribute and ARIA label for better accessibility.
<table [1]="Sales data for 2023" [2]="sales-table" [3]="Sales Table"> <caption>Annual Sales</caption> <thead> <tr><th scope="col">Month</th><th scope="col">Revenue</th></tr> </thead> <tbody> <tr><td>January</td><td>$1000</td></tr> </tbody> </table>
The summary attribute describes the table for screen readers, id gives a unique identifier, and aria-label provides an accessible name.
Practice
<caption> element in an HTML table?Solution
Step 1: Understand the role of
The<caption><caption>element is used to give a title or description to a table, which helps screen readers and users understand the table's content.Step 2: Compare with other options
Options B, C, and D describe other table parts or styling, but only<caption>provides a descriptive title.Final Answer:
To provide a title or description for the table, improving accessibility. -> Option BQuick Check:
<caption>= Table title [OK]
- Confusing <caption> with <tfoot> or <thead>
- Thinking <caption> styles the table
- Ignoring accessibility benefits of <caption>
Solution
Step 1: Identify the correct element for header cells
The<th>element is used for header cells, not<td>.Step 2: Understand the scope attribute
For column headers,scope="col"is correct.<th scope="col">Header</th>uses<th scope="col">, which is the proper syntax.Final Answer:
<th scope="col">Header</th> -> Option DQuick Check:
<th scope="col">= Column header [OK]
- Using <td> instead of <th> for headers
- Mixing scope="row" with column headers
- Omitting the scope attribute
<table>
<caption>User List</caption>
<thead>
<tr>
<th scope="col">Name</th>
<th scope="col">Age</th>
</tr>
</thead>
<tbody>
<tr>
<td>Alice</td>
<td>30</td>
</tr>
</tbody>
</table>Solution
Step 1: Understand scope="col" usage
Thescope="col"attribute on the<th>means the header applies to the entire column below it.Step 2: Identify which cells belong to the "Name" column
The first column cells, such as "Alice", are associated with the "Name" header for screen readers.Final Answer:
The header "Name" is linked to the first column cells like "Alice". -> Option AQuick Check:
scope="col" links header to column cells [OK]
- Confusing row and column scope
- Thinking headers need id attributes to link
- Assuming caption links headers
<table>
<tr>
<td>Product</td>
<td>Price</td>
</tr>
<tr>
<td>Book</td>
<td>$10</td>
</tr>
</table>Solution
Step 1: Check for caption element
The table lacks a<caption>, which helps describe the table for screen readers.Step 2: Check header cell tags and attributes
The first row uses<td>instead of<th>for headers, and noscopeattributes are present.Final Answer:
All of the above. -> Option CQuick Check:
Missing caption, wrong header tags, and no scope = C [OK]
- Using <td> for headers
- Skipping caption element
- Not adding scope attribute to headers
Solution
Step 1: Use
This helps all users understand the table's purpose.<caption>for table descriptionStep 2: Use
Column headers get<th>with proper scope for headersscope="col", row headers getscope="row". This clarifies relationships for screen readers.Final Answer:
Use <caption> for the title, <th scope="col"> for column headers, and <th scope="row"> for row headers. -> Option AQuick Check:
Caption + th with scope col/row = best accessibility [OK]
- Using <td> for headers
- Skipping scope attributes
- Relying only on aria-labels on data cells
Ready to prove it?
Pass the test and this pattern moves unknown
