Tables with one header ambiguous
From https://www.w3.org/WAI/tutorials/tables/one-header/:
"Data in such tables is descriptive on its own and unambiguous."
It's not clear to me why Example 1 does not have row headers.
| Date | Event | Venue |
|---|---|---|
| 12 February | Waltz with Strauss | Main Hall |
| 24 March | The Obelisks | West Wing |
| 14 April | The What | Main Hall |
As a screen reader user navigates down the last column, "Main Hall" would be announced more than once. Without programmatically associated row headers, the user may not know which row they are in.
All of the examples should have both row and column headers per SC 1.3.1 so screen reader users know what the data means without searching for it. "Unambiguous" data is very subjective, and I would think the best practice guidance would be to always provide programmatic row and column headers in tables such as these.
Not every table has column and row headers. There are even tables that have neither column nor row headers (see https://github.com/w3c/html-aam/issues/293). That's why I like an example that has only column headers. However, perhaps other data could be used in the table where it is clearer that none of the cells can be used as row headers.
I agree that there are some tables that don't have row or column headers; that periodic table is a good example.
For a table with no row header, I use the example of a calendar month that has the days of the week across the top row and the dates in the next rows. The days of the week are the column headers.
However, for the Example 1 table, the cells under Date or Event could be the row headers.
It was not clear what was "unambiguous" about the data, so I don't find ambiguity to be a useful deciding factor. To me, all of the example tables on Tables with one header could easily be on Tables with two headers.
Yes, they could be, but this is very much looking at WCAG 2 and seeing what must be done. And if there is little/no ambiguity, you’re not required to use table headers. (We discussed that aspect for a long time back in the day 😂)