Make a fresh Installation and have a look on the table for Language Selection.
The Table is accessible
There are some issues - Thanks @zwiastunsw
The caption tag contains a table description. The description is not a caption!
Table has 4 columns, first column has no header cell (TH).
This table should be tested by a blind person. Or should
The first column does not have a th but a td. That is correct for a column of this type.
Therefore it does not need to have any text in that cell
If yu test with a screenreader then the checkbox for each row is correctly announced as being for the language in that row because the language is the th with a scope of the row.
Thank you Brian for your opinion. But it's not that what @chmst said is wrong.
First, read it carefully. It's written:
This table should be tested by a blind person. Or should....
You might know that. But I don't know it. I only have one screen reader - NVDA. This one reads all right. But there are other readers besides that - JAWS, VoiceOver. I don't know if they read correctly either. Hence the suggestion that OR test it for a blind person, OR correct the code so that it matches the table model.
Second: Second, you're right. The caption can be long. But what's in the caption is not a caption. See exactly that in the W3C example you cited, the caption has the same function as the withdrawn summary attribute - it describes the structure and organization of data in the table. That's why these instructions need to be moved outside the table, in my opinion, and the actual caption needs to be edited.
Thirdly. Just because the first column does not contain text does not mean that it does not contain content. I don't understand. Why shouldn't there be a header cell in it? Just because the screen reader reads correctly is good. But we should make sure that each screen reader reads correctly, and for that we need the accessible name of that column.
See All non-empty elements in tables larger than 3 by 3 must have an associated table header.
I guess we will have to agree to disagree then. another great example of why you cant just reply on automated tests
Brain, be serious. What makes you think it's the result of some kind of automated testing? Can't you really refrain from making comments that discourage people from doing anything?
I dont see how you would have come to the conclusion of that ruleset without automated tests. thats what those rules are for.
Just because the first column does not contain text does not mean that it does not contain content. I don't understand. Why shouldn't there be a header cell in it? Just because the screen reader reads correctly is good. But we should make sure that each screen reader reads correctly, and for that we need the accessible name of that column.
Your conclusion is the problem.
For the screen reader to read that correctly it needs to know what it is (a checkbox) and what it is for (selecting a specific language). It gets the second part from the table header.
A table header, despite the name, does not have to go at the top of a column. A table header is any cell that has a <th>
and is in the scope.
Check the code you will see as i described in my first reply that there is a table header. Thats why it works correctly in a screenreader.
Asking a blind person to test wont increase the number of screenreaders that are tested. Personally I test with two screenreaders but that doesnt matter. If the code follows POUR then it will be fine. As you know screenreaders are like being back in the ie6 browser days - they all work differently and have their bugs and quirks. The users of those screenreaders are aware of those - we should not change code and break POUR as a result as there is no guarantee the screenreader wont change its own behaviour.
As for the caption not being a caption. If its not then what is it and what are your criteria for insisting its not a caption? I query that this is a lost in translation understanding of the element
Concluding comments from webaim.org
<th>
element.<th scope="col">
for column headers or <th scope="row">
for row headers.<caption>
for the data table.First suggestion: Mark the first table cell as the header cell (th).
Question: Does the first column contain data?
Answer: Yes. It contains data which languages the user want to install.
Question: Can you call this data? Is it possible to define it?
Answer: Yes. For example, "The language checkbox" or "Language selection"
Question: Does the first cell of this table contain data?
Answer: No.
Question: Is it possible to place data in the first cell in such an organized table? Or is it possible to place a header in this cell?
Answer: No, you can't put the data. But you can put a header.
Question: Are there other types of table cells apart from header and data cells?
Answer: There are only two cell types - th: header cell and td: data cell.
Question: How do you describe data in a table that contains column headers and row headers?
Answer: Using the column header and the row header. Only these two headers describe the data in the cell exactly.
Conclusions: Currently, the first column has no accessible name. This is not negotiable. Can you give it an accessible name. You can. That's not debatable either. Will adding an accessible name improve the accessibility of this table? That can be discussed. But that is not the subject of our dispute!
Second suggestion: Correct the table caption text in the caption tag
Question: What's caption? What is the purpose of a caption tag?
Answer: The caption element represents the title of the table. The title describes concisely and precisely the purpose, subject and content
Question: Does the current caption of this table specify the concise title of the table, specifies what the table contains?
Answer: No. It says that Joomla is supported by many languages and what to do to install the selected languages.
Question: Can the title of the table contain information other than the title?
Answer: Yes. A caption can introduce context for a table, making it significantly easier to understand.
Question: Does the current caption describe the contents of the table? Does it help to understand how the data in the table is organized?
Answer: No. The current caption does not explain the table. This is a language installation manual, not an explanation of the data in the table.
Conclusions: The current content of the caption is neither the title of a table nor a description of the data structure. Therefore this caption should be corrected. It should also be corrected because it promotes the bad design pattern!
Third suggestion: Move the language installation instructions in the caption to the text before the table. I think that after explaining what the table caption is for, this suggestion does not need to be justified.
Is there anything else to explain? Do you really need these explanations?
I stand by my original comments
There really is no point in this useless issue remaining open
Status | New | ⇒ | Closed |
Closed_Date | 0000-00-00 00:00:00 | ⇒ | 2022-11-02 14:35:40 |
Closed_By | ⇒ | chmst | |
Labels |
Added:
No Code Attached Yet
Removed: ? |
Sorry @chmst I kbow you are only repeating what @zwiastunsw has told you but its wrong
It absolutely is a caption. It is almost a perfect representation of the example provided by w3c https://www.w3.org/TR/html52/tabular-data.html#the-caption-element