-
Bug
-
Resolution: Fixed
-
P3
-
8
-
b138
-
Verified
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8348977 | 8u461 | Kieran Farrell | P3 | Resolved | Fixed | b01 |
JDK-8347962 | 8u451 | Kieran Farrell | P3 | Closed | Fixed | b06 |
The tables in the generated javadoc documentation are missing row headers
because the row markup is missing scope="row" in the first <td> element of
each <tr> elements of the table's body-type rows.
This is an example of the current, incorrect table markup where the row
headers are missing:
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0"
summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#BOOLEAN_VALUE">BOOLEAN_VALUE</a></span></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#FLOAT_VALUE">FLOAT_VALUE</a></span></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#INTEGER_VALUE">INTEGER_VALUE</a></span></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#STRING_VALUE">STRING_VALUE</a></span></code>
<div class="block">Define some constants for the various primitive types of
data</div>
</td>
</tr>
</table>
This is how the above tables markup would be made correct by adding
scope="row".
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0"
summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst" scope="row"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#BOOLEAN_VALUE">BOOLEAN_VALUE</a></span></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst" scope="row"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#FLOAT_VALUE">FLOAT_VALUE</a></span></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst" scope="row"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#INTEGER_VALUE">INTEGER_VALUE</a></span></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst" scope="row"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#STRING_VALUE">STRING_VALUE</a></span></code>
<div class="block">Define some constants for the various primitive types of
data</div>
</td>
</tr>
</table>
Test of javadoc generated tables was
1. Load document in Browser window, Firefox only.
2. Run Oracle Toolbar accessibility checker. Use the Table Helper Tool. If
Helper Toolbar is not running in your browser,
go to OGHAG/OAG Helper Toolbar.
3. Output window of Table Helper Tool shows the following:
a. Summary of table, if defined.
b. In each table cell, a green box will show "Headers" and a list of
headers that will be read by a screen reader before reading the value of the
cell.
c. If the first column in the table is the primary column, the list in the
green box will only read the header of the first column
d. In all subsequent columns, the list in the green box should show at
least 2 headers, the row header then the column header.
4. Attached file shows that there are no row headers defined in the table.
In the Table Helper, it shows the violation, "Warning: No row header found
(WCAG2 1.3.1)" for all table.
This is a violation of WCAG 1.3.1, 508 1194.22(g), 508 1194.22(h)
This violation is only particular to javadoc and should not be extrapolated
to other types of documentation.
because the row markup is missing scope="row" in the first <td> element of
each <tr> elements of the table's body-type rows.
This is an example of the current, incorrect table markup where the row
headers are missing:
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0"
summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#BOOLEAN_VALUE">BOOLEAN_VALUE</a></span></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#FLOAT_VALUE">FLOAT_VALUE</a></span></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#INTEGER_VALUE">INTEGER_VALUE</a></span></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#STRING_VALUE">STRING_VALUE</a></span></code>
<div class="block">Define some constants for the various primitive types of
data</div>
</td>
</tr>
</table>
This is how the above tables markup would be made correct by adding
scope="row".
<table class="memberSummary" border="0" cellpadding="3" cellspacing="0"
summary="Field Summary table, listing fields, and an explanation">
<caption><span>Fields</span><span class="tabEnd"> </span></caption>
<tr>
<th class="colFirst" scope="col">Modifier and Type</th>
<th class="colLast" scope="col">Field and Description</th>
</tr>
<tr class="altColor">
<td class="colFirst" scope="row"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#BOOLEAN_VALUE">BOOLEAN_VALUE</a></span></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst" scope="row"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#FLOAT_VALUE">FLOAT_VALUE</a></span></code> </td>
</tr>
<tr class="altColor">
<td class="colFirst" scope="row"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#INTEGER_VALUE">INTEGER_VALUE</a></span></code> </td>
</tr>
<tr class="rowColor">
<td class="colFirst" scope="row"><code>static int</code></td>
<td class="colLast"><code><span class="memberNameLink"><a
href="../oracle/tip/b2b/callout/CalloutContext.html#STRING_VALUE">STRING_VALUE</a></span></code>
<div class="block">Define some constants for the various primitive types of
data</div>
</td>
</tr>
</table>
Test of javadoc generated tables was
1. Load document in Browser window, Firefox only.
2. Run Oracle Toolbar accessibility checker. Use the Table Helper Tool. If
Helper Toolbar is not running in your browser,
go to OGHAG/OAG Helper Toolbar.
3. Output window of Table Helper Tool shows the following:
a. Summary of table, if defined.
b. In each table cell, a green box will show "Headers" and a list of
headers that will be read by a screen reader before reading the value of the
cell.
c. If the first column in the table is the primary column, the list in the
green box will only read the header of the first column
d. In all subsequent columns, the list in the green box should show at
least 2 headers, the row header then the column header.
4. Attached file shows that there are no row headers defined in the table.
In the Table Helper, it shows the violation, "Warning: No row header found
(WCAG2 1.3.1)" for all table.
This is a violation of WCAG 1.3.1, 508 1194.22(g), 508 1194.22(h)
This violation is only particular to javadoc and should not be extrapolated
to other types of documentation.
- backported by
-
JDK-8348977 Tables in javadoc documentation missing row headers
-
- Resolved
-
-
JDK-8347962 Tables in javadoc documentation missing row headers
-
- Closed
-
- relates to
-
JDK-8033071 API docs home page issues - Table
-
- Closed
-