changeset 45855:46c3f654e80f

8184021: Fix tables in doc comments to be accessible Reviewed-by: joehw, lancea
author jjg
date Tue, 11 Jul 2017 12:39:51 -0700
parents e78871064ddf
children cf2a977bace1
files jaxp/src/java.xml/share/classes/javax/xml/catalog/Catalog.java jaxp/src/java.xml/share/classes/javax/xml/catalog/CatalogFeatures.java jaxp/src/java.xml/share/classes/javax/xml/catalog/CatalogResolver.java jaxp/src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java jaxp/src/java.xml/share/classes/javax/xml/datatype/Duration.java jaxp/src/java.xml/share/classes/javax/xml/datatype/XMLGregorianCalendar.java jaxp/src/java.xml/share/classes/javax/xml/datatype/package-info.java jaxp/src/java.xml/share/classes/javax/xml/namespace/NamespaceContext.java jaxp/src/java.xml/share/classes/javax/xml/stream/XMLEventWriter.java jaxp/src/java.xml/share/classes/javax/xml/stream/XMLInputFactory.java jaxp/src/java.xml/share/classes/javax/xml/stream/XMLOutputFactory.java jaxp/src/java.xml/share/classes/javax/xml/stream/XMLStreamReader.java jaxp/src/java.xml/share/classes/javax/xml/stream/XMLStreamWriter.java jaxp/src/java.xml/share/classes/javax/xml/validation/SchemaFactory.java jaxp/src/java.xml/share/classes/javax/xml/validation/Validator.java jaxp/src/java.xml/share/classes/javax/xml/xpath/XPath.java jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathExpression.java jaxp/src/java.xml/share/classes/javax/xml/xpath/package-info.java jaxp/src/java.xml/share/classes/org/w3c/dom/Attr.java jaxp/src/java.xml/share/classes/org/w3c/dom/Comment.java jaxp/src/java.xml/share/classes/org/w3c/dom/Document.java jaxp/src/java.xml/share/classes/org/w3c/dom/Node.java jaxp/src/java.xml/share/classes/org/xml/sax/helpers/XMLReaderFactory.java jaxp/src/java.xml/share/classes/org/xml/sax/package-info.java
diffstat 24 files changed, 364 insertions(+), 357 deletions(-) [+]
line wrap: on
line diff
--- a/jaxp/src/java.xml/share/classes/javax/xml/catalog/Catalog.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/catalog/Catalog.java	Tue Jul 11 12:39:51 2017 -0700
@@ -57,7 +57,6 @@
  * <p>
  * In addition to the above entry types, a catalog may define nextCatalog
  * entries to add additional catalog entry files.
- * <p>
  *
  * @since 9
  */
--- a/jaxp/src/java.xml/share/classes/javax/xml/catalog/CatalogFeatures.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/catalog/CatalogFeatures.java	Tue Jul 11 12:39:51 2017 -0700
@@ -32,30 +32,30 @@
 
 /**
  * The CatalogFeatures holds a collection of features and properties.
- * <p>
  *
  *
  * <table class="plain">
  * <caption>Catalog Features</caption>
  * <thead>
  * <tr>
- * <th rowspan="2">Feature</th>
- * <th rowspan="2">Description</th>
- * <th rowspan="2">Property Name</th>
- * <th rowspan="2">System Property [1]</th>
- * <th rowspan="2">jaxp.properties [1]</th>
- * <th colspan="2" style="text-align:center">Value [2]</th>
- * <th rowspan="2">Action</th>
+ * <th scope="col" rowspan="2">Feature</th>
+ * <th scope="col" rowspan="2">Description</th>
+ * <th scope="col" rowspan="2">Property Name</th>
+ * <th scope="col" rowspan="2">System Property [1]</th>
+ * <th scope="col" rowspan="2">jaxp.properties [1]</th>
+ * <th scope="col" colspan="2" style="text-align:center">Value [2]</th>
+ * <th scope="col" rowspan="2">Action</th>
  * </tr>
  * <tr>
- * <th>Type</th>
- * <th>Value</th>
+ * <th scope="col">Type</th>
+ * <th scope="col">Value</th>
  * </tr>
  * </thead>
+ *
  * <tbody>
  *
  * <tr>
- * <td><a id="FILES">FILES</a></td>
+ * <th scope="row" style="font-weight:normal">FILES</th>
  * <td>A semicolon-delimited list of URIs to locate the catalog files.
  * The URIs must be absolute and have a URL protocol handler for the URI scheme.
  * </td>
@@ -63,7 +63,7 @@
  * <td>javax.xml.catalog.files</td>
  * <td>javax.xml.catalog.files</td>
  * <td>String</td>
- * <td>URIs</td>
+ * <th id="URIs" scope="row" style="font-weight:normal">URIs</th>
  * <td>
  * Reads the first catalog as the current catalog; Loads others if no match
  * is found in the current catalog including delegate catalogs if any.
@@ -71,25 +71,27 @@
  * </tr>
  *
  * <tr>
- * <td rowspan="2"><a id="PREFER">PREFER</a></td>
+ * <th rowspan="2" scope="row" style="font-weight:normal">PREFER</th>
  * <td rowspan="2">Indicates the preference between the public and system
  * identifiers. The default value is public [3].</td>
  * <td rowspan="2">javax.xml.catalog.prefer</td>
  * <td rowspan="2">N/A</td>
  * <td rowspan="2">N/A</td>
  * <td rowspan="2">String</td>
- * <td>{@code system}</td>
- * <td>Searches system entries for a match; Searches public entries when
+ * <th scope="row" id="system" style="font-weight:normal">{@code system}</th>
+ * <td>
+ * Searches system entries for a match; Searches public entries when
  * external identifier specifies only a public identifier</td>
  * </tr>
  * <tr>
- * <td>{@code public}</td>
- * <td>Searches system entries for a match; Searches public entries when
+ * <th scope="row" id="public" style="font-weight:normal">{@code public}</th>
+ * <td>
+ * Searches system entries for a match; Searches public entries when
  * there is no matching system entry.</td>
  * </tr>
  *
  * <tr>
- * <td rowspan="2"><a id="DEFER">DEFER</a></td>
+ * <th rowspan="2" scope="row" style="font-weight:normal">DEFER</th>
  * <td rowspan="2">Indicates that the alternative catalogs including those
  * specified in delegate entries or nextCatalog are not read until they are
  * needed. The default value is true.</td>
@@ -97,35 +99,40 @@
  * <td rowspan="2">javax.xml.catalog.defer</td>
  * <td rowspan="2">javax.xml.catalog.defer</td>
  * <td rowspan="2">String</td>
- * <td>{@code true}</td>
- * <td>Loads alternative catalogs as needed.
+ * <th scope="row" id="true" style="font-weight:normal">{@code true}</th>
+ * <td>
+ * Loads alternative catalogs as needed.
  * </td>
  * </tr>
  * <tr>
- * <td>{@code false}</td>
- * <td>Loads all catalogs[5]. </td>
+ * <th scope="row" id="false" style="font-weight:normal">{@code false}</th>
+ * <td>
+ * Loads all catalogs[5]. </td>
  * </tr>
  *
  * <tr>
- * <td rowspan="3"><a id="RESOLVE">RESOLVE</a></td>
+ * <th rowspan="3" scope="row" style="font-weight:normal">RESOLVE</th>
  * <td rowspan="3">Determines the action if there is no matching entry found after
  * all of the specified catalogs are exhausted. The default is strict.</td>
  * <td rowspan="3">javax.xml.catalog.resolve [4]</td>
  * <td rowspan="3">javax.xml.catalog.resolve</td>
  * <td rowspan="3">javax.xml.catalog.resolve</td>
  * <td rowspan="3">String</td>
- * <td>{@code strict}</td>
- * <td>Throws CatalogException if there is no match.
+ * <th scope="row" id="strict" style="font-weight:normal">{@code strict}</th>
+ * <td>
+ * Throws CatalogException if there is no match.
  * </td>
  * </tr>
  * <tr>
- * <td>{@code continue}</td>
- * <td>Allows the XML parser to continue as if there is no match.
+ * <th scope="row" id="continue" style="font-weight:normal">{@code continue}</th>
+ * <td>
+ * Allows the XML parser to continue as if there is no match.
  * </td>
  * </tr>
  * <tr>
- * <td>{@code ignore}</td>
- * <td>Tells the XML parser to skip the external references if there no match.
+ * <th scope="row" id="ignore" style="font-weight:normal">{@code ignore}</th>
+ * <td>
+ * Tells the XML parser to skip the external references if there no match.
  * </td>
  * </tr>
  *
@@ -156,7 +163,7 @@
  * <b>[5]</b> If the intention is to share an entire catalog store, it may be desirable to
  * set the property {@code javax.xml.catalog.defer} to false to allow the entire
  * catalog to be pre-loaded.
- * <p>
+ *
  * <h3>Scope and Order</h3>
  * Features and properties can be set through the catalog file, the Catalog API,
  * system properties, and {@code jaxp.properties}, with a preference in the same order.
@@ -195,7 +202,6 @@
                         .build();
  * }</pre>
  *
- * <p>
  * <h3>JAXP XML Processor Support</h3>
  * The Catalog Features are supported throughout the JAXP processors, including
  * SAX and DOM ({@link javax.xml.parsers}), and StAX parsers ({@link javax.xml.stream}),
@@ -204,7 +210,7 @@
  * factories or processors that define a setProperty or setAttribute interface.
  * For example, the following code snippet sets a URI to a catalog file on a SAX
  * parser through the {@code javax.xml.catalog.files} property:
- * <p>
+ *
  * <pre>{@code
  *      SAXParserFactory spf = SAXParserFactory.newInstance();
  *      spf.setFeature(XMLConstants.USE_CATALOG, true); [1]
@@ -240,21 +246,20 @@
  * The Catalog support is available for any process in the JAXP library that
  * supports a resolver. The following table lists all such processes.
  *
- * <p>
  * <h3><a id="ProcessesWithCatalogSupport">Processes with Catalog Support</a></h3>
  *
  * <table class="striped">
  * <caption>Processes with Catalog Support</caption>
  * <thead>
  * <tr>
- * <th>Process</th>
- * <th>Catalog Entry Type</th>
- * <th>Example</th>
+ * <th scope="col">Process</th>
+ * <th scope="col">Catalog Entry Type</th>
+ * <th scope="col">Example</th>
  * </tr>
  * </thead>
  * <tbody>
  * <tr>
- * <td>DTDs and external entities</td>
+ * <th scope="row">DTDs and external entities</th>
  * <td>public, system</td>
  * <td>
  * <pre>{@literal
@@ -269,7 +274,7 @@
  * </td>
  * </tr>
  * <tr>
- * <td>XInclude</td>
+ * <th scope="row">XInclude</th>
  * <td>uri</td>
  * <td>
  * <pre>{@literal
@@ -284,7 +289,7 @@
  * </td>
  * </tr>
  * <tr>
- * <td>XSD import</td>
+ * <th scope="row">XSD import</th>
  * <td>uri</td>
  * <td>
  * <pre>{@literal
@@ -302,7 +307,7 @@
  * </td>
  * </tr>
  * <tr>
- * <td>XSD include</td>
+ * <th scope="row">XSD include</th>
  * <td>uri</td>
  * <td>
  * <pre>{@literal
@@ -317,7 +322,7 @@
  * </td>
  * </tr>
  * <tr>
- * <td>XSL import and include</td>
+ * <th scope="row">XSL import and include</th>
  * <td>uri</td>
  * <td>
  * <pre>{@literal
@@ -332,7 +337,7 @@
  * </td>
  * </tr>
  * <tr>
- * <td>XSL document function</td>
+ * <th scope="row">XSL document function</th>
  * <td>uri</td>
  * <td>
  * <pre>{@literal
--- a/jaxp/src/java.xml/share/classes/javax/xml/catalog/CatalogResolver.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/catalog/CatalogResolver.java	Tue Jul 11 12:39:51 2017 -0700
@@ -53,7 +53,7 @@
  * The search is started in the current catalog. If a match is found,
  * no further attempt will be made. Only if there is no match in the current
  * catalog, will alternate catalogs including delegate and next catalogs be considered.
- * <p>
+ *
  * <h3>Search Order</h3>
  * The resolver will first search the system-type of entries with the specified
  * {@code systemId}. The system entries include {@code system},
@@ -75,7 +75,6 @@
  * with the specified {@code systemId} or {@code href}. The {@code uri} entries
  * include {@code uri}, {@code rewriteURI}, and {@code uriSuffix} entries.
  *
- * <p>
  * <h3>Error Handling</h3>
  * The interfaces that the CatalogResolver extend specified checked exceptions, including:
  * <ul>
--- a/jaxp/src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/datatype/DatatypeFactory.java	Tue Jul 11 12:39:51 2017 -0700
@@ -779,32 +779,32 @@
      *          {@link GregorianCalendar} to an {@link XMLGregorianCalendar}</caption>
      *   <thead>
      *     <tr>
-     *        <th>{@code java.util.GregorianCalendar} field</th>
-     *        <th>{@code javax.xml.datatype.XMLGregorianCalendar} field</th>
+     *        <th scope="col">{@code java.util.GregorianCalendar} field</th>
+     *        <th scope="col">{@code javax.xml.datatype.XMLGregorianCalendar} field</th>
      *     </tr>
      *   </thead>
      *   <tbody>
      *     <tr>
-     *       <td>{@code ERA == GregorianCalendar.BC ? -YEAR : YEAR}</td>
+     *       <th scope="row">{@code ERA == GregorianCalendar.BC ? -YEAR : YEAR}</th>
      *       <td>{@link XMLGregorianCalendar#setYear(int year)}</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code MONTH + 1}</td>
+     *       <th scope="row">{@code MONTH + 1}</th>
      *       <td>{@link XMLGregorianCalendar#setMonth(int month)}</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code DAY_OF_MONTH}</td>
+     *       <th scope="row">{@code DAY_OF_MONTH}</th>
      *       <td>{@link XMLGregorianCalendar#setDay(int day)}</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND}</td>
+     *       <th scope="row">{@code HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND}</th>
      *       <td>{@link XMLGregorianCalendar#setTime(int hour, int minute, int second, BigDecimal fractional)}</td>
      *     </tr>
      *     <tr>
-     *       <td>
+     *       <th scope="row">
      *         {@code (ZONE_OFFSET + DST_OFFSET) / (60*1000)}<br>
      *         <em>(in minutes)</em>
-     *       </td>
+     *       </th>
      *       <td>{@link XMLGregorianCalendar#setTimezone(int offset)}<sup><em>*</em></sup>
      *       </td>
      *     </tr>
--- a/jaxp/src/java.xml/share/classes/javax/xml/datatype/Duration.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/datatype/Duration.java	Tue Jul 11 12:39:51 2017 -0700
@@ -125,18 +125,18 @@
      *         <i>(timezone is optional for all date/time datatypes)</i></caption>
      *   <thead>
      *     <tr>
-     *       <th>Datatype</th>
-     *       <th>year</th>
-     *       <th>month</th>
-     *       <th>day</th>
-     *       <th>hour</th>
-     *       <th>minute</th>
-     *       <th>second</th>
+     *       <th scope="col">Datatype</th>
+     *       <th scope="col">year</th>
+     *       <th scope="col">month</th>
+     *       <th scope="col">day</th>
+     *       <th scope="col">hour</th>
+     *       <th scope="col">minute</th>
+     *       <th scope="col">second</th>
      *     </tr>
      *   </thead>
      *   <tbody>
      *     <tr>
-     *       <td>{@link DatatypeConstants#DURATION}</td>
+     *       <th scope="row">{@link DatatypeConstants#DURATION}</th>
      *       <td>X</td>
      *       <td>X</td>
      *       <td>X</td>
@@ -145,7 +145,7 @@
      *       <td>X</td>
      *     </tr>
      *     <tr>
-     *       <td>{@link DatatypeConstants#DURATION_DAYTIME}</td>
+     *       <th scope="row">{@link DatatypeConstants#DURATION_DAYTIME}</th>
      *       <td></td>
      *       <td></td>
      *       <td>X</td>
@@ -154,7 +154,7 @@
      *       <td>X</td>
      *     </tr>
      *     <tr>
-     *       <td>{@link DatatypeConstants#DURATION_YEARMONTH}</td>
+     *       <th scope="row">{@link DatatypeConstants#DURATION_YEARMONTH}</th>
      *       <td>X</td>
      *       <td>X</td>
      *       <td></td>
--- a/jaxp/src/java.xml/share/classes/javax/xml/datatype/XMLGregorianCalendar.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/datatype/XMLGregorianCalendar.java	Tue Jul 11 12:39:51 2017 -0700
@@ -58,16 +58,16 @@
  *   <caption>Date/Time Datatype Field Mapping Between XML Schema 1.0 and Java Representation</caption>
  *   <thead>
  *     <tr>
- *       <th>XML Schema 1.0<br>
+ *       <th scope="col">XML Schema 1.0<br>
  *           datatype<br>
  *            field</th>
- *       <th>Related<br>XMLGregorianCalendar<br>Accessor(s)</th>
- *       <th>Value Range</th>
+ *       <th scope="col">Related<br>XMLGregorianCalendar<br>Accessor(s)</th>
+ *       <th scope="col">Value Range</th>
  *     </tr>
  *   </thead>
  *   <tbody>
  *     <tr>
- *       <td><a id="datetimefield-year">year</a></td>
+ *       <th scope="row"><a id="datetimefield-year">year</a></th>
  *       <td> {@link #getYear()} + {@link #getEon()} or<br>
  *            {@link #getEonAndYear}
  *       </td>
@@ -85,12 +85,12 @@
  *            </td>
  *     </tr>
  *     <tr>
- *       <td><a id="datetimefield-month">month</a></td>
+ *       <th scope="row"><a id="datetimefield-month">month</a></th>
  *       <td> {@link #getMonth()} </td>
  *       <td> 1 to 12 or {@link DatatypeConstants#FIELD_UNDEFINED} </td>
  *     </tr>
  *     <tr>
- *       <td><a id="datetimefield-day">day</a></td>
+ *       <th scope="row"><a id="datetimefield-day">day</a></th>
  *       <td> {@link #getDay()} </td>
  *       <td> Independent of month, max range is 1 to 31 or {@link DatatypeConstants#FIELD_UNDEFINED}.<br>
  *            The normative value constraint stated relative to month
@@ -98,7 +98,7 @@
  *       </td>
  *     </tr>
  *     <tr>
- *       <td><a id="datetimefield-hour">hour</a></td>
+ *       <th scope="row"><a id="datetimefield-hour">hour</a></th>
  *       <td>{@link #getHour()}</td>
  *       <td>
  *         0 to 23 or {@link DatatypeConstants#FIELD_UNDEFINED}.
@@ -110,12 +110,12 @@
  *       </td>
  *     </tr>
  *     <tr>
- *       <td><a id="datetimefield-minute">minute</a></td>
+ *       <th scope="row"><a id="datetimefield-minute">minute</a></th>
  *       <td> {@link #getMinute()} </td>
  *       <td> 0 to 59 or {@link DatatypeConstants#FIELD_UNDEFINED} </td>
  *     </tr>
  *     <tr>
- *       <td><a id="datetimefield-second">second</a></td>
+ *       <th scope="row"><a id="datetimefield-second">second</a></th>
  *       <td>
  *         {@link #getSecond()} + {@link #getMillisecond()}/1000 or<br>
  *         {@link #getSecond()} + {@link #getFractionalSecond()}
@@ -131,7 +131,7 @@
  *       </td>
  *     </tr>
  *     <tr>
- *       <td><a id="datetimefield-timezone">timezone</a></td>
+ *       <th scope="row"><a id="datetimefield-timezone">timezone</a></th>
  *       <td> {@link #getTimezone()} </td>
  *       <td> Number of minutes or {@link DatatypeConstants#FIELD_UNDEFINED}.
  *         Value range from -14 hours (-14 * 60 minutes) to 14 hours (14 * 60 minutes).
@@ -749,18 +749,18 @@
      *         <i>(timezone is optional for all date/time datatypes)</i></caption>
      *   <thead>
      *     <tr>
-     *       <th>Datatype</th>
-     *       <th>year</th>
-     *       <th>month</th>
-     *       <th>day</th>
-     *       <th>hour</th>
-     *       <th>minute</th>
-     *       <th>second</th>
+     *       <th scope="col">Datatype</th>
+     *       <th scope="col">year</th>
+     *       <th scope="col">month</th>
+     *       <th scope="col">day</th>
+     *       <th scope="col">hour</th>
+     *       <th scope="col">minute</th>
+     *       <th scope="col">second</th>
      *     </tr>
      *   </thead>
      *   <tbody>
      *     <tr>
-     *       <td>{@link DatatypeConstants#DATETIME}</td>
+     *       <th scope="row">{@link DatatypeConstants#DATETIME}</th>
      *       <td>X</td>
      *       <td>X</td>
      *       <td>X</td>
@@ -769,7 +769,7 @@
      *       <td>X</td>
      *     </tr>
      *     <tr>
-     *       <td>{@link DatatypeConstants#DATE}</td>
+     *       <th scope="row">{@link DatatypeConstants#DATE}</th>
      *       <td>X</td>
      *       <td>X</td>
      *       <td>X</td>
@@ -778,7 +778,7 @@
      *       <td></td>
      *     </tr>
      *     <tr>
-     *       <td>{@link DatatypeConstants#TIME}</td>
+     *       <th scope="row">{@link DatatypeConstants#TIME}</th>
      *       <td></td>
      *       <td></td>
      *       <td></td>
@@ -787,7 +787,7 @@
      *       <td>X</td>
      *     </tr>
      *     <tr>
-     *       <td>{@link DatatypeConstants#GYEARMONTH}</td>
+     *       <th scope="row">{@link DatatypeConstants#GYEARMONTH}</th>
      *       <td>X</td>
      *       <td>X</td>
      *       <td></td>
@@ -796,7 +796,7 @@
      *       <td></td>
      *     </tr>
      *     <tr>
-     *       <td>{@link DatatypeConstants#GMONTHDAY}</td>
+     *       <th scope="row">{@link DatatypeConstants#GMONTHDAY}</th>
      *       <td></td>
      *       <td>X</td>
      *       <td>X</td>
@@ -805,7 +805,7 @@
      *       <td></td>
      *     </tr>
      *     <tr>
-     *       <td>{@link DatatypeConstants#GYEAR}</td>
+     *       <th scope="row">{@link DatatypeConstants#GYEAR}</th>
      *       <td>X</td>
      *       <td></td>
      *       <td></td>
@@ -814,7 +814,7 @@
      *       <td></td>
      *     </tr>
      *     <tr>
-     *       <td>{@link DatatypeConstants#GMONTH}</td>
+     *       <th scope="row">{@link DatatypeConstants#GMONTH}</th>
      *       <td></td>
      *       <td>X</td>
      *       <td></td>
@@ -823,7 +823,7 @@
      *       <td></td>
      *     </tr>
      *     <tr>
-     *       <td>{@link DatatypeConstants#GDAY}</td>
+     *       <th scope="row">{@link DatatypeConstants#GDAY}</th>
      *       <td></td>
      *       <td></td>
      *       <td>X</td>
@@ -908,45 +908,45 @@
      *          {@code java.util.GregorianCalendar}</caption>
      *   <thead>
      *     <tr>
-     *        <th>{@code java.util.GregorianCalendar} field</th>
-     *        <th>{@code javax.xml.datatype.XMLGregorianCalendar} field</th>
+     *        <th scope="col">{@code java.util.GregorianCalendar} field</th>
+     *        <th scope="col">{@code javax.xml.datatype.XMLGregorianCalendar} field</th>
      *     </tr>
      *   </thead>
      *   <tbody>
      *     <tr>
-     *       <td>{@code ERA}</td>
+     *       <th scope="row">{@code ERA}</th>
      *       <td>{@link #getEonAndYear()}{@code .signum() < 0 ? GregorianCalendar.BC : GregorianCalendar.AD}</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code YEAR}</td>
+     *       <th scope="row">{@code YEAR}</th>
      *       <td>{@link #getEonAndYear()}{@code .abs().intValue()}<i>*</i></td>
      *     </tr>
      *     <tr>
-     *       <td>{@code MONTH}</td>
+     *       <th scope="row">{@code MONTH}</th>
      *       <td>{@link #getMonth()} - {@link DatatypeConstants#JANUARY} + {@link GregorianCalendar#JANUARY}</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code DAY_OF_MONTH}</td>
+     *       <th scope="row">{@code DAY_OF_MONTH}</th>
      *       <td>{@link #getDay()}</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code HOUR_OF_DAY}</td>
+     *       <th scope="row">{@code HOUR_OF_DAY}</th>
      *       <td>{@link #getHour()}</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code MINUTE}</td>
+     *       <th scope="row">{@code MINUTE}</th>
      *       <td>{@link #getMinute()}</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code SECOND}</td>
+     *       <th scope="row">{@code SECOND}</th>
      *       <td>{@link #getSecond()}</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code MILLISECOND}</td>
+     *       <th scope="row">{@code MILLISECOND}</th>
      *       <td>get millisecond order from {@link #getFractionalSecond()}<i>*</i> </td>
      *     </tr>
      *     <tr>
-     *       <td>{@code GregorianCalendar.setTimeZone(TimeZone)}</td>
+     *       <th scope="row">{@code GregorianCalendar.setTimeZone(TimeZone)}</th>
      *       <td>{@link #getTimezone()} formatted into Custom timezone id</td>
      *     </tr>
      *   </tbody>
--- a/jaxp/src/java.xml/share/classes/javax/xml/datatype/package-info.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/datatype/package-info.java	Tue Jul 11 12:39:51 2017 -0700
@@ -52,46 +52,46 @@
  *     <caption> W3C XML Schema/Java Type Mappings</caption>
  *     <thead>
  *         <tr>
- *             <th>W3C XML Schema Data Type</th>
- *             <th>Java Data Type</th>
+ *             <th scope="col">W3C XML Schema Data Type</th>
+ *             <th scope="col">Java Data Type</th>
  *         </tr>
  *     </thead>
  *
  *     <tbody>
  *         <tr>
- *             <td>xs:date</td>
+ *             <th scope="row">xs:date</th>
  *             <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
  *         </tr>
  *         <tr>
- *             <td>xs:dateTime</td>
+ *             <th scope="row">xs:dateTime</th>
  *             <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
  *         </tr>
  *         <tr>
- *             <td>xs:duration</td>
+ *             <th scope="row">xs:duration</th>
  *             <td>{@link javax.xml.datatype.Duration}</td>
  *         </tr>
  *         <tr>
- *             <td>xs:gDay</td>
+ *             <th scope="row">xs:gDay</th>
  *             <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
  *         </tr>
  *         <tr>
- *             <td>xs:gMonth </td>
+ *             <th scope="row">xs:gMonth </th>
  *             <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
  *         </tr>
  *         <tr>
- *             <td>xs:gMonthDay</td>
+ *             <th scope="row">xs:gMonthDay</th>
  *             <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
  *         </tr>
  *         <tr>
- *             <td>xs:gYear</td>
+ *             <th scope="row">xs:gYear</th>
  *             <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
  *         </tr>
  *         <tr>
- *             <td>xs:gYearMonth</td>
+ *             <th scope="row">xs:gYearMonth</th>
  *             <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
  *         </tr>
  *         <tr>
- *             <td>xs:time</td>
+ *             <th scope="row">xs:time</th>
  *             <td>{@link javax.xml.datatype.XMLGregorianCalendar}</td>
  *         </tr>
  *
@@ -105,18 +105,18 @@
  *     <caption>XQuery and XPath/Java Type Mappings</caption>
  *     <thead>
  *         <tr>
- *             <th>XQuery 1.0 and XPath 2.0 Data Model</th>
- *             <th>Java Data Type</th>
+ *             <th scope="col">XQuery 1.0 and XPath 2.0 Data Model</th>
+ *             <th scope="col">Java Data Type</th>
  *         </tr>
  *     </thead>
  *
  *     <tbody>
  *         <tr>
- *             <td>xdt:dayTimeDuration</td>
+ *             <th scope="row">xdt:dayTimeDuration</th>
  *             <td>{@link javax.xml.datatype.Duration}</td>
  *         </tr>
  *         <tr>
- *             <td>xdt:yearMonthDuration</td>
+ *             <th scope="row">xdt:yearMonthDuration</th>
  *             <td>{@link javax.xml.datatype.Duration}</td>
  *         </tr>
  *     </tbody>
--- a/jaxp/src/java.xml/share/classes/javax/xml/namespace/NamespaceContext.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/namespace/NamespaceContext.java	Tue Jul 11 12:39:51 2017 -0700
@@ -92,13 +92,13 @@
      *   <caption>Return value for specified prefixes</caption>
      *   <thead>
      *     <tr>
-     *       <th>prefix parameter</th>
-     *       <th>Namespace URI return value</th>
+     *       <th scope="col">prefix parameter</th>
+     *       <th scope="col">Namespace URI return value</th>
      *     </tr>
      *   </thead>
      *   <tbody>
      *     <tr>
-     *       <td>{@code DEFAULT_NS_PREFIX} ("")</td>
+     *       <th scope="row">{@code DEFAULT_NS_PREFIX} ("")</th>
      *       <td>default Namespace URI in the current scope or
      *         <code> {@link
      *         javax.xml.XMLConstants#NULL_NS_URI XMLConstants.NULL_NS_URI("")}
@@ -106,11 +106,11 @@
      *         when there is no default Namespace URI in the current scope</td>
      *     </tr>
      *     <tr>
-     *       <td>bound prefix</td>
+     *       <th scope="row">bound prefix</th>
      *       <td>Namespace URI bound to prefix in current scope</td>
      *     </tr>
      *     <tr>
-     *       <td>unbound prefix</td>
+     *       <th scope="row">unbound prefix</th>
      *       <td>
      *         <code> {@link
      *         javax.xml.XMLConstants#NULL_NS_URI XMLConstants.NULL_NS_URI("")}
@@ -118,17 +118,17 @@
      *       </td>
      *     </tr>
      *     <tr>
-     *       <td>{@code XMLConstants.XML_NS_PREFIX} ("xml")</td>
+     *       <th scope="row">{@code XMLConstants.XML_NS_PREFIX} ("xml")</th>
      *       <td>{@code XMLConstants.XML_NS_URI}
      *           ("http://www.w3.org/XML/1998/namespace")</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code XMLConstants.XMLNS_ATTRIBUTE} ("xmlns")</td>
+     *       <th scope="row">{@code XMLConstants.XMLNS_ATTRIBUTE} ("xmlns")</th>
      *       <td>{@code XMLConstants.XMLNS_ATTRIBUTE_NS_URI}
      *         ("http://www.w3.org/2000/xmlns/")</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code null}</td>
+     *       <th scope="row">{@code null}</th>
      *       <td>{@code IllegalArgumentException} is thrown</td>
      *     </tr>
      *    </tbody>
@@ -157,39 +157,39 @@
      * <caption>Return value for specified Namespace URIs</caption>
      *   <thead>
      *     <tr>
-     *       <th>Namespace URI parameter</th>
-     *       <th>prefix value returned</th>
+     *       <th scope="col">Namespace URI parameter</th>
+     *       <th scope="col">prefix value returned</th>
      *     </tr>
      *   </thead>
      *   <tbody>
      *     <tr>
-     *       <td>{@code <default Namespace URI>}</td>
+     *       <th scope="row">{@code <default Namespace URI>}</th>
      *       <td>{@code XMLConstants.DEFAULT_NS_PREFIX} ("")
      *       </td>
      *     </tr>
      *     <tr>
-     *       <td>bound Namespace URI</td>
+     *       <th scope="row">bound Namespace URI</th>
      *       <td>prefix bound to Namespace URI in the current scope,
      *           if multiple prefixes are bound to the Namespace URI in
      *           the current scope, a single arbitrary prefix, whose
      *           choice is implementation dependent, is returned</td>
      *     </tr>
      *     <tr>
-     *       <td>unbound Namespace URI</td>
+     *       <th scope="row">unbound Namespace URI</th>
      *       <td>{@code null}</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code XMLConstants.XML_NS_URI}
-     *           ("http://www.w3.org/XML/1998/namespace")</td>
+     *       <th scope="row">{@code XMLConstants.XML_NS_URI}
+     *           ("http://www.w3.org/XML/1998/namespace")</th>
      *       <td>{@code XMLConstants.XML_NS_PREFIX} ("xml")</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code XMLConstants.XMLNS_ATTRIBUTE_NS_URI}
-     *           ("http://www.w3.org/2000/xmlns/")</td>
+     *       <th scope="row">{@code XMLConstants.XMLNS_ATTRIBUTE_NS_URI}
+     *           ("http://www.w3.org/2000/xmlns/")</th>
      *       <td>{@code XMLConstants.XMLNS_ATTRIBUTE} ("xmlns")</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code null}</td>
+     *       <th scope="row">{@code null}</th>
      *       <td>{@code IllegalArgumentException} is thrown</td>
      *     </tr>
      *   </tbody>
@@ -224,14 +224,14 @@
      *   <caption>Return value for specified Namespace URIs</caption>
      *   <thead>
      *     <tr>
-     *       <th>Namespace URI parameter</th>
-     *       <th>prefixes value returned</th>
+     *       <th scope="col">Namespace URI parameter</th>
+     *       <th scope="col">prefixes value returned</th>
      *     </tr>
      *   </thead>
      *   <tbody>
      *     <tr>
-     *       <td>bound Namespace URI,
-     *         including the {@code <default Namespace URI>}</td>
+     *       <th scope="row">bound Namespace URI,
+     *         including the {@code <default Namespace URI>}</th>
      *       <td>
      *         {@code Iterator} over prefixes bound to Namespace URI in
      *         the current scope in an arbitrary,
@@ -240,23 +240,23 @@
      *       </td>
      *     </tr>
      *     <tr>
-     *       <td>unbound Namespace URI</td>
+     *       <th scope="row">unbound Namespace URI</th>
      *       <td>empty {@code Iterator}</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code XMLConstants.XML_NS_URI}
-     *           ("http://www.w3.org/XML/1998/namespace")</td>
+     *       <th scope="row">{@code XMLConstants.XML_NS_URI}
+     *           ("http://www.w3.org/XML/1998/namespace")</th>
      *       <td>{@code Iterator} with one element set to
      *         {@code XMLConstants.XML_NS_PREFIX} ("xml")</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code XMLConstants.XMLNS_ATTRIBUTE_NS_URI}
-     *           ("http://www.w3.org/2000/xmlns/")</td>
+     *       <th scope="row">{@code XMLConstants.XMLNS_ATTRIBUTE_NS_URI}
+     *           ("http://www.w3.org/2000/xmlns/")</th>
      *       <td>{@code Iterator} with one element set to
      *         {@code XMLConstants.XMLNS_ATTRIBUTE} ("xmlns")</td>
      *     </tr>
      *     <tr>
-     *       <td>{@code null}</td>
+     *       <th scope="row">{@code null}</th>
      *       <td>{@code IllegalArgumentException} is thrown</td>
      *     </tr>
      *   </tbody>
--- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLEventWriter.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLEventWriter.java	Tue Jul 11 12:39:51 2017 -0700
@@ -68,15 +68,15 @@
    *   <caption>Required and optional fields for events added to the writer</caption>
    *   <thead>
    *     <tr>
-   *       <th>Event Type</th>
-   *       <th>Required Fields</th>
-   *       <th>Optional Fields</th>
-   *       <th>Required Behavior</th>
+   *       <th scope="col">Event Type</th>
+   *       <th scope="col">Required Fields</th>
+   *       <th scope="col">Optional Fields</th>
+   *       <th scope="col">Required Behavior</th>
    *     </tr>
    *   </thead>
    *   <tbody>
    *     <tr>
-   *       <td> START_ELEMENT  </td>
+   *       <th scope="row"> START_ELEMENT  </th>
    *       <td> QName name </td>
    *       <td> namespaces , attributes </td>
    *       <td> A START_ELEMENT will be written by writing the name,
@@ -96,7 +96,7 @@
    *       </td>
    *     </tr>
    *     <tr>
-   *       <td> END_ELEMENT  </td>
+   *       <th scope="row"> END_ELEMENT  </th>
    *       <td> Qname name  </td>
    *       <td> None </td>
    *       <td> A well formed END_ELEMENT tag is written.
@@ -111,7 +111,7 @@
    *       </td>
    *     </tr>
    *     <tr>
-   *       <td> ATTRIBUTE  </td>
+   *       <th scope="row"> ATTRIBUTE  </th>
    *       <td> QName name , String value </td>
    *       <td> QName type </td>
    *       <td> An attribute is written using the same algorithm
@@ -122,7 +122,7 @@
    *       </td>
    *     </tr>
    *     <tr>
-   *       <td> NAMESPACE  </td>
+   *       <th scope="row"> NAMESPACE  </th>
    *       <td> String prefix, String namespaceURI,
    *            boolean isDefaultNamespaceDeclaration
    *      </td>
@@ -137,7 +137,7 @@
    *      </td>
    *     </tr>
    *     <tr>
-   *       <td> PROCESSING_INSTRUCTION  </td>
+   *       <th scope="row"> PROCESSING_INSTRUCTION  </th>
    *       <td>   None</td>
    *       <td>   String target, String data</td>
    *       <td>   The data does not need to be present and may be
@@ -149,7 +149,7 @@
    *      </td>
    *     </tr>
    *     <tr>
-   *       <td> COMMENT  </td>
+   *       <th scope="row"> COMMENT  </th>
    *       <td> None  </td>
    *       <td> String comment  </td>
    *       <td> If the comment is present (not null) it is written, otherwise an
@@ -157,7 +157,7 @@
    *      </td>
    *     </tr>
    *     <tr>
-   *       <td> START_DOCUMENT  </td>
+   *       <th scope="row"> START_DOCUMENT  </th>
    *       <td> None  </td>
    *       <td> String encoding , boolean standalone, String version  </td>
    *       <td> A START_DOCUMENT event is not required to be written to the
@@ -166,13 +166,13 @@
    *      </td>
    *     </tr>
    *     <tr>
-   *       <td> END_DOCUMENT  </td>
+   *       <th scope="row"> END_DOCUMENT  </th>
    *       <td> None </td>
    *       <td> None  </td>
    *       <td> Nothing is written to the output  </td>
    *     </tr>
    *     <tr>
-   *       <td> DTD  </td>
+   *       <th scope="row"> DTD  </th>
    *       <td> String DocumentTypeDefinition  </td>
    *       <td> None  </td>
    *       <td> The DocumentTypeDefinition is written to the output  </td>
--- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLInputFactory.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLInputFactory.java	Tue Jul 11 12:39:51 2017 -0700
@@ -40,23 +40,23 @@
  *    <caption>Configuration Parameters</caption>
  *    <thead>
  *      <tr>
- *        <th>Property Name</th>
- *        <th>Behavior</th>
- *        <th>Return type</th>
- *        <th>Default Value</th>
- *        <th>Required</th>
+ *        <th scope="col">Property Name</th>
+ *        <th scope="col">Behavior</th>
+ *        <th scope="col">Return type</th>
+ *        <th scope="col">Default Value</th>
+ *        <th scope="col">Required</th>
  *      </tr>
  *    </thead>
  *    <tbody>
- * <tr><td>javax.xml.stream.isValidating</td><td>Turns on/off implementation specific DTD validation</td><td>Boolean</td><td>False</td><td>No</td></tr>
- * <tr><td>javax.xml.stream.isNamespaceAware</td><td>Turns on/off namespace processing for XML 1.0 support</td><td>Boolean</td><td>True</td><td>True (required) / False (optional)</td></tr>
- * <tr><td>javax.xml.stream.isCoalescing</td><td>Requires the processor to coalesce adjacent character data</td><td>Boolean</td><td>False</td><td>Yes</td></tr>
- * <tr><td>javax.xml.stream.isReplacingEntityReferences</td><td>replace internal entity references with their replacement text and report them as characters</td><td>Boolean</td><td>True</td><td>Yes</td></tr>
- *<tr><td>javax.xml.stream.isSupportingExternalEntities</td><td>Resolve external parsed entities</td><td>Boolean</td><td>Unspecified</td><td>Yes</td></tr>
- *<tr><td>javax.xml.stream.supportDTD</td><td>Use this property to request processors that do not support DTDs</td><td>Boolean</td><td>True</td><td>Yes</td></tr>
- *<tr><td>javax.xml.stream.reporter</td><td>sets/gets the impl of the XMLReporter </td><td>javax.xml.stream.XMLReporter</td><td>Null</td><td>Yes</td></tr>
- *<tr><td>javax.xml.stream.resolver</td><td>sets/gets the impl of the XMLResolver interface</td><td>javax.xml.stream.XMLResolver</td><td>Null</td><td>Yes</td></tr>
- *<tr><td>javax.xml.stream.allocator</td><td>sets/gets the impl of the XMLEventAllocator interface</td><td>javax.xml.stream.util.XMLEventAllocator</td><td>Null</td><td>Yes</td></tr>
+ * <tr><th scope="row">javax.xml.stream.isValidating</th><td>Turns on/off implementation specific DTD validation</td><td>Boolean</td><td>False</td><td>No</td></tr>
+ * <tr><th scope="row">javax.xml.stream.isNamespaceAware</th><td>Turns on/off namespace processing for XML 1.0 support</td><td>Boolean</td><td>True</td><td>True (required) / False (optional)</td></tr>
+ * <tr><th scope="row">javax.xml.stream.isCoalescing</th><td>Requires the processor to coalesce adjacent character data</td><td>Boolean</td><td>False</td><td>Yes</td></tr>
+ * <tr><th scope="row">javax.xml.stream.isReplacingEntityReferences</th><td>replace internal entity references with their replacement text and report them as characters</td><td>Boolean</td><td>True</td><td>Yes</td></tr>
+ *<tr><th scope="row">javax.xml.stream.isSupportingExternalEntities</th><td>Resolve external parsed entities</td><td>Boolean</td><td>Unspecified</td><td>Yes</td></tr>
+ *<tr><th scope="row">javax.xml.stream.supportDTD</th><td>Use this property to request processors that do not support DTDs</td><td>Boolean</td><td>True</td><td>Yes</td></tr>
+ *<tr><th scope="row">javax.xml.stream.reporter</th><td>sets/gets the impl of the XMLReporter </td><td>javax.xml.stream.XMLReporter</td><td>Null</td><td>Yes</td></tr>
+ *<tr><th scope="row">javax.xml.stream.resolver</th><td>sets/gets the impl of the XMLResolver interface</td><td>javax.xml.stream.XMLResolver</td><td>Null</td><td>Yes</td></tr>
+ *<tr><th scope="row">javax.xml.stream.allocator</th><td>sets/gets the impl of the XMLEventAllocator interface</td><td>javax.xml.stream.util.XMLEventAllocator</td><td>Null</td><td>Yes</td></tr>
  *    </tbody>
  *  </table>
  *
--- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLOutputFactory.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLOutputFactory.java	Tue Jul 11 12:39:51 2017 -0700
@@ -40,15 +40,15 @@
  *     <caption>Configuration Parameters</caption>
  *     <thead>
  *      <tr>
- *        <th>Property Name</th>
- *        <th>Behavior</th>
- *        <th>Return type</th>
- *        <th>Default Value</th>
- *        <th>Required</th>
+ *        <th scope="col">Property Name</th>
+ *        <th scope="col">Behavior</th>
+ *        <th scope="col">Return type</th>
+ *        <th scope="col">Default Value</th>
+ *        <th scope="col">Required</th>
  *              </tr>
  *    </thead>
  *    <tbody>
- *         <tr><td>javax.xml.stream.isRepairingNamespaces</td><td>defaults prefixes
+ *         <tr><th scope="row">javax.xml.stream.isRepairingNamespaces</th><td>defaults prefixes
  *                 on the output side</td><td>Boolean</td><td>False</td><td>Yes</td></tr>
  *      </tbody>
  *   </table>
--- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLStreamReader.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLStreamReader.java	Tue Jul 11 12:39:51 2017 -0700
@@ -75,13 +75,13 @@
  *   <caption>Valid methods for each state</caption>
  *   <thead>
  *     <tr>
- *       <th>Event Type</th>
- *       <th>Valid Methods</th>
+ *       <th scope="col">Event Type</th>
+ *       <th scope="col">Valid Methods</th>
  *     </tr>
  *   </thead>
  *   <tbody>
  *     <tr>
- *       <td> All States  </td>
+ *       <th scope="row"> All States  </th>
  *       <td> getProperty(), hasNext(), require(), close(),
  *            getNamespaceURI(), isStartElement(),
  *            isEndElement(), isCharacters(), isWhiteSpace(),
@@ -90,7 +90,7 @@
  *       </td>
  *     </tr>
  *     <tr>
- *       <td> START_ELEMENT  </td>
+ *       <th scope="row"> START_ELEMENT  </th>
  *       <td> next(), getName(), getLocalName(), hasName(), getPrefix(),
  *            getAttributeXXX(), isAttributeSpecified(),
  *            getNamespaceXXX(),
@@ -98,58 +98,58 @@
  *       </td>
  *     </tr>
  *     <tr>
- *       <td> ATTRIBUTE  </td>
+ *       <th scope="row"> ATTRIBUTE  </th>
  *       <td> next(), nextTag()
  *            getAttributeXXX(), isAttributeSpecified(),
  *       </td>
  *     </tr>
  *     <tr>
- *       <td> NAMESPACE  </td>
+ *       <th scope="row"> NAMESPACE  </th>
  *       <td> next(), nextTag()
  *            getNamespaceXXX()
  *       </td>
  *     </tr>
  *     <tr>
- *       <td> END_ELEMENT  </td>
+ *       <th scope="row"> END_ELEMENT  </th>
  *       <td> next(), getName(), getLocalName(), hasName(), getPrefix(),
  *            getNamespaceXXX(), nextTag()
  *      </td>
  *     </tr>
  *     <tr>
- *       <td> CHARACTERS  </td>
+ *       <th scope="row"> CHARACTERS  </th>
  *       <td> next(), getTextXXX(), nextTag() </td>
  *     </tr>
  *     <tr>
- *       <td> CDATA  </td>
+ *       <th scope="row"> CDATA  </th>
  *       <td> next(), getTextXXX(), nextTag() </td>
  *     </tr>
  *     <tr>
- *       <td> COMMENT  </td>
+ *       <th scope="row"> COMMENT  </th>
  *       <td> next(), getTextXXX(), nextTag() </td>
  *     </tr>
  *     <tr>
- *       <td> SPACE  </td>
+ *       <th scope="row"> SPACE  </th>
  *       <td> next(), getTextXXX(), nextTag() </td>
  *     </tr>
  *     <tr>
- *       <td> START_DOCUMENT  </td>
+ *       <th scope="row"> START_DOCUMENT  </th>
  *       <td> next(), getEncoding(), getVersion(), isStandalone(), standaloneSet(),
  *            getCharacterEncodingScheme(), nextTag()</td>
  *     </tr>
  *     <tr>
- *       <td> END_DOCUMENT  </td>
+ *       <th scope="row"> END_DOCUMENT  </th>
  *       <td> close()</td>
  *     </tr>
  *     <tr>
- *       <td> PROCESSING_INSTRUCTION  </td>
+ *       <th scope="row"> PROCESSING_INSTRUCTION  </th>
  *       <td> next(), getPITarget(), getPIData(), nextTag() </td>
  *     </tr>
  *     <tr>
- *       <td> ENTITY_REFERENCE  </td>
+ *       <th scope="row"> ENTITY_REFERENCE  </th>
  *       <td> next(), getLocalName(), getText(), nextTag() </td>
  *     </tr>
  *     <tr>
- *       <td> DTD  </td>
+ *       <th scope="row"> DTD  </th>
  *       <td> next(), getText(), nextTag() </td>
  *     </tr>
  *   </tbody>
--- a/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLStreamWriter.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/stream/XMLStreamWriter.java	Tue Jul 11 12:39:51 2017 -0700
@@ -42,22 +42,22 @@
  *     <caption>XML Namespaces, {@code javax.xml.stream.isRepairingNamespaces} and write method behaviour</caption>
  *     <thead>
  *         <tr style="border-bottom: 1px solid black">
- *             <th>Method</th> <!-- method -->
- *             <th colspan="2">{@code isRepairingNamespaces} == true</th>
- *             <th colspan="2">{@code isRepairingNamespaces} == false</th>
+ *             <th scope="col" rowspan="2">Method</th> <!-- method -->
+ *             <th scope="col" colspan="2">{@code isRepairingNamespaces} == true</th>
+ *             <th scope="col" colspan="2">{@code isRepairingNamespaces} == false</th>
  *         </tr>
  *         <tr>
- *             <th></th> <!-- method -->
- *             <th>namespaceURI bound</th>
- *             <th>namespaceURI unbound</th>
- *             <th>namespaceURI bound</th>
- *             <th>namespaceURI unbound</th>
+ *             <!-- method -->
+ *             <th scope="col">namespaceURI bound</th>
+ *             <th scope="col">namespaceURI unbound</th>
+ *             <th scope="col">namespaceURI bound</th>
+ *             <th scope="col">namespaceURI unbound</th>
  *         </tr>
  *     </thead>
  *
  *     <tbody>
  *         <tr>
- *             <th>{@code writeAttribute(namespaceURI, localName, value)}</th>
+ *             <th scope="row">{@code writeAttribute(namespaceURI, localName, value)}</th>
  *             <!-- isRepairingNamespaces == true -->
  *             <td>
  *                 <!-- namespaceURI bound -->
@@ -79,7 +79,7 @@
  *         </tr>
  *
  *         <tr>
- *             <th>{@code writeAttribute(prefix, namespaceURI, localName, value)}</th>
+ *             <th scope="row">{@code writeAttribute(prefix, namespaceURI, localName, value)}</th>
  *             <!-- isRepairingNamespaces == true -->
  *             <td>
  *                 <!-- namespaceURI bound -->
@@ -109,11 +109,11 @@
  *         </tr>
  *
  *         <tr>
- *             <th>{@code writeStartElement(namespaceURI, localName)}<br>
+ *             <th scope="row">{@code writeStartElement(namespaceURI, localName)}<br>
  *                 <br>
  *                 {@code writeEmptyElement(namespaceURI, localName)}</th>
  *             <!-- isRepairingNamespaces == true -->
- *             <td >
+ *             <td>
  *                 <!-- namespaceURI bound -->
  *                 {@code <prefix:localName>}&nbsp;<sup>[1]</sup>
  *             </td>
@@ -133,7 +133,7 @@
  *         </tr>
  *
  *         <tr>
- *             <th>{@code writeStartElement(prefix, localName, namespaceURI)}<br>
+ *             <th scope="row">{@code writeStartElement(prefix, localName, namespaceURI)}<br>
  *                 <br>
  *                 {@code writeEmptyElement(prefix, localName, namespaceURI)}</th>
  *             <!-- isRepairingNamespaces == true -->
@@ -164,25 +164,20 @@
  *             </td>
  *         </tr>
  *     </tbody>
- *     <tfoot>
- *         <tr>
- *             <td colspan="5">
- *                 Notes:
- *                 <ul>
- *                     <li>[1] if namespaceURI == default Namespace URI, then no prefix is written</li>
- *                     <li>[2] if prefix == "" || null {@literal &&} namespaceURI == "", then
- *                        no prefix or Namespace declaration is generated or written</li>
- *                     <li>[3] if prefix == "" || null, then a prefix is randomly generated</li>
- *                     <li>[4] if prefix == "" || null, then it is treated as the default Namespace and
- *                        no prefix is generated or written, an xmlns declaration is generated
- *                        and written if the namespaceURI is unbound</li>
- *                     <li>[5] if prefix == "" || null, then it is treated as an invalid attempt to
- *                        define the default Namespace and an XMLStreamException is thrown</li>
- *                 </ul>
- *             </td>
- *         </tr>
- *     </tfoot>
  * </table>
+
+ * Notes:
+ * <ul>
+ *    <li>[1] if namespaceURI == default Namespace URI, then no prefix is written</li>
+ *    <li>[2] if prefix == "" || null {@literal &&} namespaceURI == "", then
+ *            no prefix or Namespace declaration is generated or written</li>
+ *    <li>[3] if prefix == "" || null, then a prefix is randomly generated</li>
+ *    <li>[4] if prefix == "" || null, then it is treated as the default Namespace and
+ *            no prefix is generated or written, an xmlns declaration is generated
+ *            and written if the namespaceURI is unbound</li>
+ *    <li>[5] if prefix == "" || null, then it is treated as an invalid attempt to
+ *            define the default Namespace and an XMLStreamException is thrown</li>
+ * </ul>
  *
  * @version 1.0
  * @author Copyright (c) 2009 by Oracle Corporation. All Rights Reserved.
--- a/jaxp/src/java.xml/share/classes/javax/xml/validation/SchemaFactory.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/validation/SchemaFactory.java	Tue Jul 11 12:39:51 2017 -0700
@@ -88,17 +88,17 @@
  *   <caption>URIs for Supported Schema languages</caption>
  *   <thead>
  *     <tr>
- *       <th>value</th>
- *       <th>language</th>
+ *       <th scope="col">value</th>
+ *       <th scope="col">language</th>
  *     </tr>
  *   </thead>
  *   <tbody>
  *     <tr>
- *       <td>{@link javax.xml.XMLConstants#W3C_XML_SCHEMA_NS_URI} ("{@code http://www.w3.org/2001/XMLSchema}")</td>
+ *       <th scope="row">{@link javax.xml.XMLConstants#W3C_XML_SCHEMA_NS_URI} ("{@code http://www.w3.org/2001/XMLSchema}")</th>
  *       <td><a href="http://www.w3.org/TR/xmlschema-1">W3C XML Schema 1.0</a></td>
  *     </tr>
  *     <tr>
- *       <td>{@link javax.xml.XMLConstants#RELAXNG_NS_URI} ("{@code http://relaxng.org/ns/structure/1.0}")</td>
+ *       <th scope="row">{@link javax.xml.XMLConstants#RELAXNG_NS_URI} ("{@code http://relaxng.org/ns/structure/1.0}")</th>
  *       <td><a href="http://www.relaxng.org/">RELAX NG 1.0</a></td>
  *     </tr>
  *   </tbody>
--- a/jaxp/src/java.xml/share/classes/javax/xml/validation/Validator.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/validation/Validator.java	Tue Jul 11 12:39:51 2017 -0700
@@ -135,44 +135,44 @@
      * <caption>{@code Source} / {@code Result} Accepted</caption>
      * <thead>
      *  <tr>
-     *   <th></th>
-     *   <th>{@link javax.xml.transform.stream.StreamSource}</th>
-     *   <th>{@link javax.xml.transform.sax.SAXSource}</th>
-     *   <th>{@link javax.xml.transform.dom.DOMSource}</th>
-     *   <th>{@link javax.xml.transform.stax.StAXSource}</th>
+     *   <td></td>>
+     *   <th scope="col">{@link javax.xml.transform.stream.StreamSource}</th>
+     *   <th scope="col">{@link javax.xml.transform.sax.SAXSource}</th>
+     *   <th scope="col">{@link javax.xml.transform.dom.DOMSource}</th>
+     *   <th scope="col">{@link javax.xml.transform.stax.StAXSource}</th>
      *  </tr>
      * </thead>
      * <tbody style="text-align:center">
      *  <tr>
-     *   <td>{@code null}</td>
+     *   <th scope="row">{@code null}</th>
      *   <td>OK</td>
      *   <td>OK</td>
      *   <td>OK</td>
      *   <td>OK</td>
      *  </tr>
      *  <tr>
-     *   <th>{@link javax.xml.transform.stream.StreamResult}</th>
+     *   <th scope="row">{@link javax.xml.transform.stream.StreamResult}</th>
      *   <td>OK</td>
      *   <td>{@code IllegalArgumentException}</td>
      *   <td>{@code IllegalArgumentException}</td>
      *   <td>{@code IllegalArgumentException}</td>
      *  </tr>
      *  <tr>
-     *   <th>{@link javax.xml.transform.sax.SAXResult}</th>
+     *   <th scope="row">{@link javax.xml.transform.sax.SAXResult}</th>
      *   <td>{@code IllegalArgumentException}</td>
      *   <td>OK</td>
      *   <td>{@code IllegalArgumentException}</td>
      *   <td>{@code IllegalArgumentException}</td>
      *  </tr>
      *  <tr>
-     *   <th>{@link javax.xml.transform.dom.DOMResult}</th>
+     *   <th scope="row">{@link javax.xml.transform.dom.DOMResult}</th>
      *   <td>{@code IllegalArgumentException}</td>
      *   <td>{@code IllegalArgumentException}</td>
      *   <td>OK</td>
      *   <td>{@code IllegalArgumentException}</td>
      *  </tr>
      *  <tr>
-     *   <th>{@link javax.xml.transform.stax.StAXResult}</th>
+     *   <th scope="row">{@link javax.xml.transform.stax.StAXResult}</th>
      *   <td>{@code IllegalArgumentException}</td>
      *   <td>{@code IllegalArgumentException}</td>
      *   <td>{@code IllegalArgumentException}</td>
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPath.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPath.java	Tue Jul 11 12:39:51 2017 -0700
@@ -38,13 +38,13 @@
  *    <caption>Evaluation of XPath Expressions</caption>
  *    <thead>
  *      <tr>
- *        <th>Factor</th>
- *        <th>Behavior</th>
+ *        <th scope="col">Factor</th>
+ *        <th scope="col">Behavior</th>
  *      </tr>
  *    </thead>
  *    <tbody>
  *    <tr>
- *      <td>context</td>
+ *      <th scope="row">context</th>
  *      <td>
  *        The type of the context is implementation-dependent. If the value is
  *        null, the operation must have no dependency on the context, otherwise
@@ -55,7 +55,7 @@
  *      </td>
  *    </tr>
  *    <tr>
- *      <td>variables</td>
+ *      <th scope="row">variables</th>
  *      <td>
  *        If the expression contains a variable reference, its value will be found through the {@link XPathVariableResolver}
  *        set with {@link #setXPathVariableResolver(XPathVariableResolver resolver)}.
@@ -65,7 +65,7 @@
  *      </td>
  *    </tr>
  *    <tr>
- *      <td>functions</td>
+ *      <th scope="row">functions</th>
  *      <td>
  *        If the expression contains a function reference, the function will be found through the {@link XPathFunctionResolver}
  *        set with {@link #setXPathFunctionResolver(XPathFunctionResolver resolver)}.
@@ -74,14 +74,14 @@
  *      </td>
  *    </tr>
  *    <tr>
- *      <td>QNames</td>
+ *      <th scope="row">QNames</th>
  *      <td>
  *        QNames in the expression are resolved against the XPath namespace context
  *        set with {@link #setNamespaceContext(NamespaceContext nsContext)}.
  *      </td>
  *    </tr>
  *    <tr>
- *      <td>result</td>
+ *      <th scope="row">result</th>
  *      <td>
  *        This result of evaluating an expression is converted to an instance of the desired return type.
  *        Valid return types are defined in {@link XPathConstants}.
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathExpression.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/XPathExpression.java	Tue Jul 11 12:39:51 2017 -0700
@@ -37,13 +37,13 @@
  *    <caption>Evaluation of XPath Expressions</caption>
  *    <thead>
  *      <tr>
- *        <th>Factor</th>
- *        <th>Behavior</th>
+ *        <th scope="col">Factor</th>
+ *        <th scope="col">Behavior</th>
  *      </tr>
  *    </thead>
  *    <tbody>
  *    <tr>
- *      <td>context</td>
+ *      <th scope="row">context</th>
  *      <td>
  *        The type of the context is implementation-dependent. If the value is
  *        null, the operation must have no dependency on the context, otherwise
@@ -54,7 +54,7 @@
  *      </td>
  *    </tr>
  *    <tr>
- *      <td>variables</td>
+ *      <th scope="row">variables</th>
  *      <td>
  *        If the expression contains a variable reference, its value will be found through the {@link XPathVariableResolver}.
  *        An {@link XPathExpressionException} is raised if the variable resolver is undefined or
@@ -63,7 +63,7 @@
  *      </td>
  *    </tr>
  *    <tr>
- *      <td>functions</td>
+ *      <th scope="row">functions</th>
  *      <td>
  *        If the expression contains a function reference, the function will be found through the {@link XPathFunctionResolver}.
  *        An {@link XPathExpressionException} is raised if the function resolver is undefined or
@@ -71,13 +71,13 @@
  *      </td>
  *    </tr>
  *    <tr>
- *      <td>QNames</td>
+ *      <th scope="row">QNames</th>
  *      <td>
  *        QNames in the expression are resolved against the XPath namespace context.
  *      </td>
  *    </tr>
  *    <tr>
- *      <td>result</td>
+ *      <th scope="row">result</th>
  *      <td>
  *        This result of evaluating an expression is converted to an instance of the desired return type.
  *        Valid return types are defined in {@link XPathConstants}.
--- a/jaxp/src/java.xml/share/classes/javax/xml/xpath/package-info.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/javax/xml/xpath/package-info.java	Tue Jul 11 12:39:51 2017 -0700
@@ -148,37 +148,37 @@
  *     <caption>Examples of Location Path</caption>
  *     <thead>
  *         <tr>
- *             <th>Location Path</th>
- *             <th>Description</th>
+ *             <th scope="col">Location Path</th>
+ *             <th scope="col">Description</th>
  *         </tr>
  *     </thead>
  *     <tbody>
  *         <tr>
- *             <td>
+ *             <th scope="row">
  *                 <code>/foo/bar/<strong>@id</strong></code>
- *             </td>
+ *             </th>
  *             <td>
  *                 Selects the attribute <code>id</code> of the <code>&lt;bar&gt;</code> element
  *             </td>
  *         </tr>
  *         <tr>
- *             <td><code>/foo/bar/<strong>text()</strong></code>
- *             </td>
+ *             <th scope="row"><code>/foo/bar/<strong>text()</strong></code>
+ *             </th>
  *             <td>
  *                 Selects the text nodes of the <code>&lt;bar&gt;</code> element. No
  *                 distinction is made between escaped and non-escaped character data.
  *             </td>
  *         </tr>
  *         <tr>
- *             <td><code>/foo/bar/<strong>comment()</strong></code>
- *             </td>
+ *             <th scope="row"><code>/foo/bar/<strong>comment()</strong></code>
+ *             </th>
  *             <td>
  *                 Selects all comment nodes contained in the <code>&lt;bar&gt;</code> element.
  *             </td>
  *         </tr>
  *         <tr>
- *             <td><code>/foo/bar/<strong>processing-instruction()</strong></code>
- *             </td>
+ *             <th scope="row"><code>/foo/bar/<strong>processing-instruction()</strong></code>
+ *             </th>
  *             <td>
  *                 Selects all processing-instruction nodes contained in the
  *                 <code>&lt;bar&gt;</code> element.
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/Attr.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/org/w3c/dom/Attr.java	Tue Jul 11 12:39:51 2017 -0700
@@ -115,17 +115,17 @@
  * <caption>Examples of the Original, Normalized and Serialized Values </caption>
  * <thead>
  * <tr>
- * <th>Examples</th>
- * <th>Parsed
+ * <th scope="col">Examples</th>
+ * <th scope="col">Parsed
  * attribute value</th>
- * <th>Initial <code>Attr.value</code></th>
- * <th>Serialized attribute value</th>
+ * <th scope="col">Initial <code>Attr.value</code></th>
+ * <th scope="col">Serialized attribute value</th>
  * </tr>
  * </thead>
  * <tbody>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'>
- * Character reference</td>
+ * <th scope="row" valign='top' rowspan='1' colspan='1'>
+ * Character reference</th>
  * <td valign='top' rowspan='1' colspan='1'>
  * <pre>"x&amp;#178;=5"</pre>
  * </td>
@@ -137,8 +137,8 @@
  * </td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'>Built-in
- * character entity</td>
+ * <th scope="row" valign='top' rowspan='1' colspan='1'>Built-in
+ * character entity</th>
  * <td valign='top' rowspan='1' colspan='1'>
  * <pre>"y&amp;lt;6"</pre>
  * </td>
@@ -150,7 +150,7 @@
  * </td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'>Literal newline between</td>
+ * <th scope="row" valign='top' rowspan='1' colspan='1'>Literal newline between</th>
  * <td valign='top' rowspan='1' colspan='1'>
  * <pre>
  * "x=5&amp;#10;y=6"</pre>
@@ -163,7 +163,7 @@
  * </td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'>Normalized newline between</td>
+ * <th scope="row" valign='top' rowspan='1' colspan='1'>Normalized newline between</th>
  * <td valign='top' rowspan='1' colspan='1'>
  * <pre>"x=5
  * y=6"</pre>
@@ -176,7 +176,7 @@
  * </td>
  * </tr>
  * <tr>
- * <td valign='top' rowspan='1' colspan='1'>Entity <code>e</code> with literal newline</td>
+ * <th scope="row" valign='top' rowspan='1' colspan='1'>Entity <code>e</code> with literal newline</th>
  * <td valign='top' rowspan='1' colspan='1'>
  * <pre>
  * &lt;!ENTITY e '...&amp;#10;...'&gt; [...]&gt; "x=5&amp;e;y=6"</pre>
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/Comment.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/org/w3c/dom/Comment.java	Tue Jul 11 12:39:51 2017 -0700
@@ -43,8 +43,8 @@
 
 /**
  * This interface inherits from <code>CharacterData</code> and represents the
- * content of a comment, i.e., all the characters between the starting '
- * <code>&lt;!--</code>' and ending '<code>--&gt;</code>'. Note that this is
+ * content of a comment, i.e., all the characters between the starting
+ * '{@code <!--}' and ending '{@code -->}'. Note that this is
  * the definition of a comment in XML, and, in practice, HTML, although some
  * HTML tools may implement the full SGML comment structure.
  * <p> No lexical check is done on the content of a comment and it is
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/Document.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/org/w3c/dom/Document.java	Tue Jul 11 12:39:51 2017 -0700
@@ -357,34 +357,34 @@
      * <caption>Attributes of the {@code Element} object</caption>
      * <thead>
      * <tr>
-     * <th>Attribute</th>
-     * <th>Value</th>
+     * <th scope="col">Attribute</th>
+     * <th scope="col">Value</th>
      * </tr>
      * </thead>
      * <tbody>
      * <tr>
-     * <td><code>Node.nodeName</code></td>
+     * <th scope="row"><code>Node.nodeName</code></th>
      * <td>
      *   <code>qualifiedName</code></td>
      * </tr>
      * <tr>
-     * <td><code>Node.namespaceURI</code></td>
+     * <th scope="row"><code>Node.namespaceURI</code></th>
      * <td>
      *   <code>namespaceURI</code></td>
      * </tr>
      * <tr>
-     * <td><code>Node.prefix</code></td>
+     * <th scope="row"><code>Node.prefix</code></th>
      * <td>prefix, extracted
      *   from <code>qualifiedName</code>, or <code>null</code> if there is
      *   no prefix</td>
      * </tr>
      * <tr>
-     * <td><code>Node.localName</code></td>
+     * <th scope="row"><code>Node.localName</code></th>
      * <td>local name, extracted from
      *   <code>qualifiedName</code></td>
      * </tr>
      * <tr>
-     * <td><code>Element.tagName</code></td>
+     * <th scope="row"><code>Element.tagName</code></th>
      * <td>
      *   <code>qualifiedName</code></td>
      * </tr>
@@ -426,40 +426,40 @@
      * <caption>Attributes of the {@code Attr} object </caption>
      * <thead>
      * <tr>
-     * <th>
+     * <th scope="col">
      *   Attribute</th>
-     * <th>Value</th>
+     * <th scope="col">Value</th>
      * </tr>
      * </thead>
      * <tbody>
      * <tr>
-     * <td><code>Node.nodeName</code></td>
+     * <th scope="row"><code>Node.nodeName</code></th>
      * <td>qualifiedName</td>
      * </tr>
      * <tr>
-     * <td>
-     *   <code>Node.namespaceURI</code></td>
+     * <th scope="row">
+     *   <code>Node.namespaceURI</code></th>
      * <td><code>namespaceURI</code></td>
      * </tr>
      * <tr>
-     * <td>
-     *   <code>Node.prefix</code></td>
+     * <th scope="row">
+     *   <code>Node.prefix</code></th>
      * <td>prefix, extracted from
      *   <code>qualifiedName</code>, or <code>null</code> if there is no
      *   prefix</td>
      * </tr>
      * <tr>
-     * <td><code>Node.localName</code></td>
+     * <th scope="row"><code>Node.localName</code></th>
      * <td>local name, extracted from
      *   <code>qualifiedName</code></td>
      * </tr>
      * <tr>
-     * <td><code>Attr.name</code></td>
+     * <th scope="row"><code>Attr.name</code></th>
      * <td>
      *   <code>qualifiedName</code></td>
      * </tr>
      * <tr>
-     * <td><code>Node.nodeValue</code></td>
+     * <th scope="row"><code>Node.nodeValue</code></th>
      * <td>the empty
      *   string</td>
      * </tr>
--- a/jaxp/src/java.xml/share/classes/org/w3c/dom/Node.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/org/w3c/dom/Node.java	Tue Jul 11 12:39:51 2017 -0700
@@ -65,23 +65,23 @@
  * <caption style="display:none">Interface table</caption>
  * <thead>
  * <tr>
- * <th>Interface</th>
- * <th>nodeName</th>
- * <th>nodeValue</th>
- * <th>attributes</th>
+ * <th scope="col">Interface</th>
+ * <th scope="col">nodeName</th>
+ * <th scope="col">nodeValue</th>
+ * <th scope="col">attributes</th>
  * </tr>
  * </thead>
  * <tbody>
  * <tr>
- * <td>
- * <code>Attr</code></td>
+ * <th scope="row">
+ * <code>Attr</code></th>
  * <td>same as <code>Attr.name</code></td>
  * <td>same as
  * <code>Attr.value</code></td>
  * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td><code>CDATASection</code></td>
+ * <th scope="row"><code>CDATASection</code></th>
  * <td>
  * <code>"#cdata-section"</code></td>
  * <td>same as <code>CharacterData.data</code>, the
@@ -89,7 +89,7 @@
  * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td><code>Comment</code></td>
+ * <th scope="row"><code>Comment</code></th>
  * <td>
  * <code>"#comment"</code></td>
  * <td>same as <code>CharacterData.data</code>, the
@@ -97,58 +97,58 @@
  * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td><code>Document</code></td>
+ * <th scope="row"><code>Document</code></th>
  * <td>
  * <code>"#document"</code></td>
  * <td><code>null</code></td>
  * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td>
- * <code>DocumentFragment</code></td>
+ * <th scope="row">
+ * <code>DocumentFragment</code></th>
  * <td><code>"#document-fragment"</code></td>
  * <td>
  * <code>null</code></td>
  * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td><code>DocumentType</code></td>
+ * <th scope="row"><code>DocumentType</code></th>
  * <td>same as
  * <code>DocumentType.name</code></td>
  * <td><code>null</code></td>
  * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td>
- * <code>Element</code></td>
+ * <th scope="row">
+ * <code>Element</code></th>
  * <td>same as <code>Element.tagName</code></td>
  * <td><code>null</code></td>
  * <td>
  * <code>NamedNodeMap</code></td>
  * </tr>
  * <tr>
- * <td><code>Entity</code></td>
+ * <th scope="row"><code>Entity</code></th>
  * <td>entity name</td>
  * <td><code>null</code></td>
  * <td>
  * <code>null</code></td>
  * </tr>
  * <tr>
- * <td><code>EntityReference</code></td>
+ * <th scope="row"><code>EntityReference</code></th>
  * <td>name of entity referenced</td>
  * <td>
  * <code>null</code></td>
  * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td><code>Notation</code></td>
+ * <th scope="row"><code>Notation</code></th>
  * <td>notation name</td>
  * <td>
  * <code>null</code></td>
  * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td><code>ProcessingInstruction</code></td>
+ * <th scope="row"><code>ProcessingInstruction</code></th>
  * <td>same
  * as <code>ProcessingInstruction.target</code></td>
  * <td>same as
@@ -156,7 +156,7 @@
  * <td><code>null</code></td>
  * </tr>
  * <tr>
- * <td><code>Text</code></td>
+ * <th scope="row"><code>Text</code></th>
  * <td>
  * <code>"#text"</code></td>
  * <td>same as <code>CharacterData.data</code>, the content
@@ -696,28 +696,28 @@
      * <caption style="display:none">Node/Content table</caption>
      * <thead>
      * <tr>
-     * <th>Node type</th>
-     * <th>Content</th>
+     * <th scope="col">Node type</th>
+     * <th scope="col">Content</th>
      * </tr>
      * </thead>
      * <tbody>
      * <tr>
-     * <td>
+     * <th scope="row">
      * ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE,
-     * DOCUMENT_FRAGMENT_NODE</td>
+     * DOCUMENT_FRAGMENT_NODE</th>
      * <td>concatenation of the <code>textContent</code>
      * attribute value of every child node, excluding COMMENT_NODE and
      * PROCESSING_INSTRUCTION_NODE nodes. This is the empty string if the
      * node has no children.</td>
      * </tr>
      * <tr>
-     * <td>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE,
-     * PROCESSING_INSTRUCTION_NODE</td>
+     * <th scope="row">TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE,
+     * PROCESSING_INSTRUCTION_NODE</th>
      * <td><code>nodeValue</code></td>
      * </tr>
      * <tr>
-     * <td>DOCUMENT_NODE,
-     * DOCUMENT_TYPE_NODE, NOTATION_NODE</td>
+     * <th scope="row">DOCUMENT_NODE,
+     * DOCUMENT_TYPE_NODE, NOTATION_NODE</th>
      * <td><em>null</em></td>
      * </tr>
      * </tbody>
@@ -751,28 +751,28 @@
      * <caption style="display:none">Node/Content table</caption>
      * <thead>
      * <tr>
-     * <th>Node type</th>
-     * <th>Content</th>
+     * <th scope="col">Node type</th>
+     * <th scope="col">Content</th>
      * </tr>
      * </thead>
      * <tbody>
      * <tr>
-     * <td>
+     * <th scope="row">
      * ELEMENT_NODE, ATTRIBUTE_NODE, ENTITY_NODE, ENTITY_REFERENCE_NODE,
-     * DOCUMENT_FRAGMENT_NODE</td>
+     * DOCUMENT_FRAGMENT_NODE</th>
      * <td>concatenation of the <code>textContent</code>
      * attribute value of every child node, excluding COMMENT_NODE and
      * PROCESSING_INSTRUCTION_NODE nodes. This is the empty string if the
      * node has no children.</td>
      * </tr>
      * <tr>
-     * <td>TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE,
-     * PROCESSING_INSTRUCTION_NODE</td>
+     * <th scope="row">TEXT_NODE, CDATA_SECTION_NODE, COMMENT_NODE,
+     * PROCESSING_INSTRUCTION_NODE</th>
      * <td><code>nodeValue</code></td>
      * </tr>
      * <tr>
-     * <td>DOCUMENT_NODE,
-     * DOCUMENT_TYPE_NODE, NOTATION_NODE</td>
+     * <th scope="row">DOCUMENT_NODE,
+     * DOCUMENT_TYPE_NODE, NOTATION_NODE</th>
      * <td><em>null</em></td>
      * </tr>
      * </tbody>
--- a/jaxp/src/java.xml/share/classes/org/xml/sax/helpers/XMLReaderFactory.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/org/xml/sax/helpers/XMLReaderFactory.java	Tue Jul 11 12:39:51 2017 -0700
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -100,7 +100,6 @@
      * Obtains a new instance of a {@link org.xml.sax.XMLReader}.
      * This method uses the following ordered lookup procedure to find and load
      * the {@link org.xml.sax.XMLReader} implementation class:
-     * <p>
      * <ol>
      * <li>If the system property {@code org.xml.sax.driver}
      * has a value, that is used as an XMLReader class name. </li>
--- a/jaxp/src/java.xml/share/classes/org/xml/sax/package-info.java	Mon Jul 10 18:22:58 2017 -0700
+++ b/jaxp/src/java.xml/share/classes/org/xml/sax/package-info.java	Tue Jul 11 12:39:51 2017 -0700
@@ -48,16 +48,20 @@
  * <em>setFeature</em>.  Those standard identifiers are:
  *
  *
- * <table border="1" cellpadding="3" cellspacing="0" width="100%">
- *     <tr align="center" bgcolor="#ccccff">
- *      <th>Feature ID</th>
- *      <th>Access</th>
- *      <th>Default</th>
- *      <th>Description</th>
+ * <table class="striped">
+ *     <caption>Standard Features</caption>
+ *     <thead>
+ *     <tr>
+ *      <th scope="col">Feature ID</th>
+ *      <th scope="col">Access</th>
+ *      <th scope="col">Default</th>
+ *      <th scope="col">Description</th>
  *      </tr>
+ *     </thead>
  *
+ *     <tbody>
  *     <tr>
- *      <td>external-general-entities</td>
+ *      <th scope="row">external-general-entities</th>
  *      <td><em>read/write</em></td>
  *      <td><em>unspecified</em></td>
  *      <td> Reports whether this parser processes external
@@ -66,7 +70,7 @@
  *      </tr>
  *
  *     <tr>
- *      <td>external-parameter-entities</td>
+ *      <th scope="row">external-parameter-entities</th>
  *      <td><em>read/write</em></td>
  *      <td><em>unspecified</em></td>
  *      <td> Reports whether this parser processes external
@@ -75,7 +79,7 @@
  *      </tr>
  *
  *     <tr>
- *      <td>is-standalone</td>
+ *      <th scope="row">is-standalone</th>
  *      <td>(parsing) <em>read-only</em>, (not parsing) <em>none</em></td>
  *      <td>not applicable</td>
  *      <td> May be examined only during a parse, after the
@@ -86,7 +90,7 @@
  *      </tr>
  *
  *     <tr>
- *      <td>lexical-handler/parameter-entities</td>
+ *      <th scope="row">lexical-handler/parameter-entities</th>
  *      <td><em>read/write</em></td>
  *      <td><em>unspecified</em></td>
  *      <td> A value of "true" indicates that the LexicalHandler will report
@@ -95,7 +99,7 @@
  *      </tr>
  *
  *     <tr>
- *      <td>namespaces</td>
+ *      <th scope="row">namespaces</th>
  *      <td><em>read/write</em></td>
  *      <td>true</td>
  *      <td> A value of "true" indicates namespace URIs and unprefixed local names
@@ -104,7 +108,7 @@
  *      </tr>
  *
  *     <tr>
- *      <td>namespace-prefixes</td>
+ *      <th scope="row">namespace-prefixes</th>
  *      <td><em>read/write</em></td>
  *      <td>false</td>
  *      <td> A value of "true" indicates that XML qualified names (with prefixes) and
@@ -113,7 +117,7 @@
  *      </tr>
  *
  *     <tr>
- *      <td>resolve-dtd-uris</td>
+ *      <th scope="row">resolve-dtd-uris</th>
  *      <td><em>read/write</em></td>
  *      <td><em>true</em></td>
  *      <td> A value of "true" indicates that system IDs in declarations will
@@ -135,7 +139,7 @@
  *      </tr>
  *
  *     <tr>
- *      <td>string-interning</td>
+ *      <th scope="row">string-interning</th>
  *      <td><em>read/write</em></td>
  *      <td><em>unspecified</em></td>
  *      <td> Has a value of "true" if all XML names (for elements, prefixes,
@@ -148,7 +152,7 @@
  *      </tr>
  *
  *     <tr>
- *     <td>unicode-normalization-checking</td>
+ *     <th scope="row">unicode-normalization-checking</th>
  *     <td><em>read/write</em></td>
  *     <td><em>false</em></td>
  *     <td> Controls whether the parser reports Unicode normalization
@@ -161,7 +165,7 @@
  *     </tr>
  *
  *     <tr>
- *      <td>use-attributes2</td>
+ *      <th scope="row">use-attributes2</th>
  *      <td><em>read-only</em></td>
  *      <td>not applicable</td>
  *      <td> Returns "true" if the <em>Attributes</em> objects passed by
@@ -175,7 +179,7 @@
  *     </tr>
  *
  *     <tr>
- *      <td>use-locator2</td>
+ *      <th scope="row">use-locator2</th>
  *      <td><em>read-only</em></td>
  *      <td>not applicable</td>
  *      <td> Returns "true" if the <em>Locator</em> objects passed by
@@ -188,7 +192,7 @@
  *     </tr>
  *
  *     <tr>
- *      <td>use-entity-resolver2</td>
+ *      <th scope="row">use-entity-resolver2</th>
  *      <td><em>read/write</em></td>
  *      <td><em>true</em></td>
  *      <td> Returns "true" if, when <em>setEntityResolver</em> is given
@@ -200,7 +204,7 @@
  *     </tr>
  *
  *     <tr>
- *      <td>validation</td>
+ *      <th scope="row">validation</th>
  *      <td><em>read/write</em></td>
  *      <td><em>unspecified</em></td>
  *      <td> Controls whether the parser is reporting all validity
@@ -209,7 +213,7 @@
  *     </tr>
  *
  *     <tr>
- *      <td>xmlns-uris</td>
+ *      <th scope="row">xmlns-uris</th>
  *      <td><em>read/write</em></td>
  *      <td><em>false</em></td>
  *      <td> Controls whether, when the <em>namespace-prefixes</em> feature
@@ -225,13 +229,14 @@
  *     </tr>
  *
  *     <tr>
- *         <td>xml-1.1</td>
+ *         <th scope="row">xml-1.1</th>
  *         <td><em>read-only</em></td>
  *         <td>not applicable</td>
  *         <td> Returns "true" if the parser supports both XML 1.1 and XML 1.0.
  *             Returns "false" if the parser supports only XML 1.0.
  *         </td>
  *     </tr>
+ *     </tbody>
  * </table>
  *
  * <p>
@@ -262,14 +267,18 @@
  * <code>dom-node</code>.  Manage those properties using
  * <em>setProperty()</em>.  Those identifiers are:
  *
- * <table border="1" cellpadding="3" cellspacing="0" width="100%">
- *     <tr align="center" bgcolor="#ccccff">
- *      <th>Property ID</th>
- *      <th>Description</th>
+ * <table class="striped">
+ *     <caption>Standard Property IDs</caption>
+ *     <thead>
+ *     <tr>
+ *      <th scope="col">Property ID</th>
+ *      <th scope="col">Description</th>
  *      </tr>
+ *      </thead>
  *
+ *     <tbody>
  *     <tr>
- *      <td>declaration-handler</td>
+ *      <th scope="row">declaration-handler</th>
  *      <td> Used to see most DTD declarations except those treated
  *          as lexical ("document element name is ...") or which are
  *          mandatory for all SAX parsers (<em>DTDHandler</em>).
@@ -279,7 +288,7 @@
  *     </tr>
  *
  *     <tr>
- *         <td>document-xml-version</td>
+ *         <th scope="row">document-xml-version</th>
  *         <td> May be examined only during a parse, after the startDocument()
  *             callback has been completed; read-only. This property is a
  *             literal string describing the actual XML version of the document,
@@ -288,7 +297,7 @@
  *     </tr>
  *
  *     <tr>
- *      <td>dom-node</td>
+ *      <th scope="row">dom-node</th>
  *      <td> For "DOM Walker" style parsers, which ignore their
  *          <em>parser.parse()</em> parameters, this is used to
  *          specify the DOM (sub)tree being walked by the parser.
@@ -298,7 +307,7 @@
  *     </tr>
  *
  *     <tr>
- *      <td>lexical-handler</td>
+ *      <th scope="row">lexical-handler</th>
  *      <td> Used to see some syntax events that are essential in some
  *          applications:  comments, CDATA delimiters, selected general
  *          entity inclusions, and the start and end of the DTD
@@ -309,11 +318,12 @@
  *     </tr>
  *
  *     <tr>
- *      <td>xml-string</td>
+ *      <th scope="row">xml-string</th>
  *      <td> Readable only during a parser callback, this exposes a <b>TBS</b>
  *          chunk of characters responsible for the current event.
  *         </td>
  *     </tr>
+ *     </tbody>
  * </table>
  *
  * <p>