Inspect the working example
Tuesday contains Markup and Layout; Friday contains Scripting. The first tbody contains exactly two rows. Its day header spans those rows and labels that row group. Friday belongs to a separate tbody and does not inherit Tuesday.
| Case | Input or inspection | Result and meaning |
|---|---|---|
| First group | Count rows in the first tbody | Two rows: Markup and Layout |
| Shared day header | Inspect rowspan and scope | rowspan=2 and scope=rowgroup |
| Second group | Inspect Friday tbody | One row with its own row header |
Follow the browser mechanism
rowspan gives the visual grid span; scope="rowgroup" identifies the group relationship. Use both with a matching tbody. A cell must not span into another row group. Native table geometry helps verify the span, while element and scope inspection establishes the intended association.
A matching visual span still needs the right scope
The counterexample retains rowspan="2" but labels only a row. It omits the explicit row-group scope used by the working fixture.
<table><tbody><tr><th rowspan="2" scope="row">Tuesday</th><td>Markup</td></tr><tr><td>Layout</td></tr></tbody></table>Both sources visually span two rows. Only the working shared header explicitly has scope="rowgroup". This check does not assert how every assistive technology compensates for the alternative.
Try the repair
You add a third Tuesday session inside the first tbody. Which span value must change?
Show the worked answer
Change Tuesday rowspan to 3 and keep scope="rowgroup". The three rows stay in that tbody; Friday stays in its separate group.
- Match the header span to the number of rows in its group.
- Check the tbody boundary and scope as well as the screenshot.