Skip to content

Commit f4fbf77

Browse files
committed
Add tabindex to grid columns which has only plain text to make it tabable
Signed-off-by: Pasam Soujanya <psoujany@in.ibm.com>
1 parent ca3e701 commit f4fbf77

File tree

1 file changed

+18
-0
lines changed
  • src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html

1 file changed

+18
-0
lines changed

src/jdk.javadoc/share/classes/jdk/javadoc/internal/doclets/formats/html/Table.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,11 @@
2222
* or visit www.oracle.com if you need additional information or have any
2323
* questions.
2424
*/
25+
/*
26+
* ===========================================================================
27+
* (c) Copyright IBM Corp. 2025, 2025 All Rights Reserved
28+
* ===========================================================================
29+
*/
2530

2631
package jdk.javadoc.internal.doclets.formats.html;
2732

@@ -33,7 +38,9 @@
3338
import java.util.List;
3439
import java.util.Set;
3540
import java.util.function.Predicate;
41+
import java.util.regex.Pattern;
3642

43+
import javafx.scene.control.Tab;
3744
import jdk.javadoc.internal.doclets.formats.html.markup.HtmlStyles;
3845
import jdk.javadoc.internal.html.Content;
3946
import jdk.javadoc.internal.html.ContentBuilder;
@@ -322,14 +329,25 @@ public void addRow(T item, List<Content> contents) {
322329
}
323330
}
324331
int colIndex = 0;
332+
String regex = "<(?:a|area|button|input|object|select|textarea)\\b";
333+
Pattern pattern = Pattern.compile(regex);
325334
for (Content c : contents) {
326335
HtmlStyle cellStyle = columnStyles.get(colIndex);
327336
// Always add content to make sure the cell isn't dropped
328337
var cell = HtmlTree.DIV(cellStyle).addUnchecked(c.isEmpty() ? Text.EMPTY : c);
338+
boolean matchFound = c.isEmpty() || pattern.matcher(c.toString()).find();
329339
cell.addStyle(rowStyle);
340+
if (!matchFound) {
341+
cell.put(HtmlAttr.ROLE, "tablist")
342+
.put(HtmlAttr.TABINDEX, "0");
343+
}
330344

331345
for (String tabClass : tabClasses) {
332346
cell.addStyle(tabClass);
347+
if (!matchFound) {
348+
cell.put(HtmlAttr.ROLE, "tablist")
349+
.put(HtmlAttr.TABINDEX, "0");
350+
}
333351
}
334352
row.add(cell);
335353
colIndex++;

0 commit comments

Comments
 (0)