8184208: update class="striped" tables for accessibility
authorjjg
Wed, 12 Jul 2017 12:48:01 -0700
changeset 45881 aaec0fbe17ae
parent 45871 878e21603932
child 45882 341b124f1001
8184208: update class="striped" tables for accessibility Reviewed-by: lancea, bpb
jdk/src/java.base/share/classes/java/io/RandomAccessFile.java
jdk/src/java.base/share/classes/java/io/SerializablePermission.java
jdk/src/java.base/share/classes/java/lang/RuntimePermission.java
jdk/src/java.base/share/classes/java/lang/System.java
jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java
jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java
jdk/src/java.base/share/classes/java/lang/reflect/ReflectPermission.java
jdk/src/java.base/share/classes/java/net/NetPermission.java
jdk/src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java
jdk/src/java.base/share/classes/java/nio/channels/AsynchronousFileChannel.java
jdk/src/java.base/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java
jdk/src/java.base/share/classes/java/nio/channels/AsynchronousSocketChannel.java
jdk/src/java.base/share/classes/java/nio/channels/DatagramChannel.java
jdk/src/java.base/share/classes/java/nio/channels/FileChannel.java
jdk/src/java.base/share/classes/java/nio/channels/ServerSocketChannel.java
jdk/src/java.base/share/classes/java/nio/channels/SocketChannel.java
jdk/src/java.base/share/classes/java/nio/charset/Charset.java
jdk/src/java.base/share/classes/java/nio/file/Files.java
jdk/src/java.base/share/classes/java/nio/file/LinkPermission.java
jdk/src/java.base/share/classes/java/nio/file/attribute/AclFileAttributeView.java
jdk/src/java.base/share/classes/java/nio/file/attribute/BasicFileAttributeView.java
jdk/src/java.base/share/classes/java/nio/file/attribute/DosFileAttributeView.java
jdk/src/java.base/share/classes/java/nio/file/attribute/PosixFileAttributeView.java
jdk/src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java
jdk/src/java.base/share/classes/java/security/SecurityPermission.java
jdk/src/java.base/share/classes/java/text/DecimalFormat.java
jdk/src/java.base/share/classes/java/text/SimpleDateFormat.java
jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java
jdk/src/java.base/share/classes/java/util/Formatter.java
jdk/src/java.base/share/classes/java/util/GregorianCalendar.java
jdk/src/java.base/share/classes/java/util/Locale.java
jdk/src/java.base/share/classes/javax/net/ssl/SSLPermission.java
--- a/jdk/src/java.base/share/classes/java/io/RandomAccessFile.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/io/RandomAccessFile.java	Wed Jul 12 12:48:01 2017 -0700
@@ -139,21 +139,21 @@
      * <table class="striped">
      * <caption style="display:none">Access mode permitted values and meanings</caption>
      * <thead>
-     * <tr><th style="text-align:left">Value</th><th style="text-align:left">Meaning</th></tr>
+     * <tr><th scope="col" style="text-align:left">Value</th><th scope="col" style="text-align:left">Meaning</th></tr>
      * </thead>
      * <tbody>
-     * <tr><td style="vertical-align:top">{@code "r"}</td>
+     * <tr><th scope="row" style="vertical-align:top">{@code "r"}</th>
      *     <td> Open for reading only. Invoking any of the {@code write}
      *     methods of the resulting object will cause an
      *     {@link java.io.IOException} to be thrown.</td></tr>
-     * <tr><td style="vertical-align:top">{@code "rw"}</td>
+     * <tr><th scope="row" style="vertical-align:top">{@code "rw"}</th>
      *     <td> Open for reading and writing.  If the file does not already
      *     exist then an attempt will be made to create it.</td></tr>
-     * <tr><td style="vertical-align:top">{@code "rws"}</td>
+     * <tr><th scope="row" style="vertical-align:top">{@code "rws"}</th>
      *     <td> Open for reading and writing, as with {@code "rw"}, and also
      *     require that every update to the file's content or metadata be
      *     written synchronously to the underlying storage device.</td></tr>
-     * <tr><td style="vertical-align:top">{@code "rwd"}</td>
+     * <tr><th scope="row" style="vertical-align:top">{@code "rwd"}</th>
      *     <td> Open for reading and writing, as with {@code "rw"}, and also
      *     require that every update to the file's content be written
      *     synchronously to the underlying storage device.</td></tr>
--- a/jdk/src/java.base/share/classes/java/io/SerializablePermission.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/io/SerializablePermission.java	Wed Jul 12 12:48:01 2017 -0700
@@ -48,15 +48,15 @@
  * <caption style="display:none">Permission target name, what the permission allows, and associated risks</caption>
  * <thead>
  * <tr>
- * <th>Permission Target Name</th>
- * <th>What the Permission Allows</th>
- * <th>Risks of Allowing this Permission</th>
+ * <th scope="col">Permission Target Name</th>
+ * <th scope="col">What the Permission Allows</th>
+ * <th scope="col">Risks of Allowing this Permission</th>
  * </tr>
  * </thead>
  * <tbody>
  *
  * <tr>
- *   <td>enableSubclassImplementation</td>
+ *   <th scope="row">enableSubclassImplementation</th>
  *   <td>Subclass implementation of ObjectOutputStream or ObjectInputStream
  * to override the default serialization or deserialization, respectively,
  * of objects</td>
@@ -69,7 +69,7 @@
  * </tr>
  *
  * <tr>
- *   <td>enableSubstitution</td>
+ *   <th scope="row">enableSubstitution</th>
  *   <td>Substitution of one object for another during
  * serialization or deserialization</td>
  *   <td>This is dangerous because malicious code
@@ -78,7 +78,7 @@
  * </tr>
  *
  * <tr>
- *   <td>serialFilter</td>
+ *   <th scope="row">serialFilter</th>
  *   <td>Setting a filter for ObjectInputStreams.</td>
  *   <td>Code could remove a configured filter and remove protections
  *       already established.</td>
--- a/jdk/src/java.base/share/classes/java/lang/RuntimePermission.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/lang/RuntimePermission.java	Wed Jul 12 12:48:01 2017 -0700
@@ -48,15 +48,15 @@
  *  what the target allows, and associated risks</caption>
  * <thead>
  * <tr>
- * <th>Permission Target Name</th>
- * <th>What the Permission Allows</th>
- * <th>Risks of Allowing this Permission</th>
+ * <th scope="col">Permission Target Name</th>
+ * <th scope="col">What the Permission Allows</th>
+ * <th scope="col">Risks of Allowing this Permission</th>
  * </tr>
  * </thead>
  * <tbody>
  *
  * <tr>
- *   <td>createClassLoader</td>
+ *   <th scope="row">createClassLoader</th>
  *   <td>Creation of a class loader</td>
  *   <td>This is an extremely dangerous permission to grant.
  * Malicious applications that can instantiate their own class
@@ -67,7 +67,7 @@
  * </tr>
  *
  * <tr>
- *   <td>getClassLoader</td>
+ *   <th scope="row">getClassLoader</th>
  *   <td>Retrieval of a class loader (e.g., the class loader for the calling
  * class)</td>
  *   <td>This would grant an attacker permission to get the
@@ -78,7 +78,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setContextClassLoader</td>
+ *   <th scope="row">setContextClassLoader</th>
  *   <td>Setting of the context class loader used by a thread</td>
  *   <td>The context class loader is used by system code and extensions
  * when they need to lookup resources that might not exist in the system
@@ -88,7 +88,7 @@
  * </tr>
  *
  * <tr>
- *   <td>enableContextClassLoaderOverride</td>
+ *   <th scope="row">enableContextClassLoaderOverride</th>
  *   <td>Subclass implementation of the thread context class loader methods</td>
  *   <td>The context class loader is used by system code and extensions
  * when they need to lookup resources that might not exist in the system
@@ -98,14 +98,14 @@
  * </tr>
  *
  * <tr>
- *   <td>closeClassLoader</td>
+ *   <th scope="row">closeClassLoader</th>
  *   <td>Closing of a ClassLoader</td>
  *   <td>Granting this permission allows code to close any URLClassLoader
  * that it has a reference to.</td>
  * </tr>
  *
  * <tr>
- *   <td>setSecurityManager</td>
+ *   <th scope="row">setSecurityManager</th>
  *   <td>Setting of the security manager (possibly replacing an existing one)
  * </td>
  *   <td>The security manager is a class that allows
@@ -117,14 +117,14 @@
  * </tr>
  *
  * <tr>
- *   <td>createSecurityManager</td>
+ *   <th scope="row">createSecurityManager</th>
  *   <td>Creation of a new security manager</td>
  *   <td>This gives code access to protected, sensitive methods that may
  * disclose information about other classes or the execution stack.</td>
  * </tr>
  *
  * <tr>
- *   <td>getenv.{variable name}</td>
+ *   <th scope="row">getenv.{variable name}</th>
  *   <td>Reading of the value of the specified environment variable</td>
  *   <td>This would allow code to read the value, or determine the
  *       existence, of a particular environment variable.  This is
@@ -132,7 +132,7 @@
  * </tr>
  *
  * <tr>
- *   <td>exitVM.{exit status}</td>
+ *   <th scope="row">exitVM.{exit status}</th>
  *   <td>Halting of the Java Virtual Machine with the specified exit status</td>
  *   <td>This allows an attacker to mount a denial-of-service attack
  * by automatically forcing the virtual machine to halt.
@@ -143,14 +143,14 @@
  * </tr>
  *
  * <tr>
- *   <td>shutdownHooks</td>
+ *   <th scope="row">shutdownHooks</th>
  *   <td>Registration and cancellation of virtual-machine shutdown hooks</td>
  *   <td>This allows an attacker to register a malicious shutdown
  * hook that interferes with the clean shutdown of the virtual machine.</td>
  * </tr>
  *
  * <tr>
- *   <td>setFactory</td>
+ *   <th scope="row">setFactory</th>
  *   <td>Setting of the socket factory used by ServerSocket or Socket,
  * or of the stream handler factory used by URL</td>
  *   <td>This allows code to set the actual implementation
@@ -160,7 +160,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setIO</td>
+ *   <th scope="row">setIO</th>
  *   <td>Setting of System.out, System.in, and System.err</td>
  *   <td>This allows changing the value of the standard system streams.
  * An attacker may change System.in to monitor and
@@ -169,7 +169,7 @@
  * </tr>
  *
  * <tr>
- *   <td>modifyThread</td>
+ *   <th scope="row">modifyThread</th>
  *   <td>Modification of threads, e.g., via calls to Thread
  * {@code interrupt, stop, suspend, resume, setDaemon, setPriority,
  * setName} and {@code setUncaughtExceptionHandler}
@@ -179,7 +179,7 @@
  * </tr>
  *
  * <tr>
- *   <td>stopThread</td>
+ *   <th scope="row">stopThread</th>
  *   <td>Stopping of threads via calls to the Thread <code>stop</code>
  * method</td>
  *   <td>This allows code to stop any thread in the system provided that it is
@@ -189,7 +189,7 @@
  * </tr>
  *
  * <tr>
- *   <td>modifyThreadGroup</td>
+ *   <th scope="row">modifyThreadGroup</th>
  *   <td>modification of thread groups, e.g., via calls to ThreadGroup
  * <code>destroy</code>, <code>getParent</code>, <code>resume</code>,
  * <code>setDaemon</code>, <code>setMaxPriority</code>, <code>stop</code>,
@@ -199,7 +199,7 @@
  * </tr>
  *
  * <tr>
- *   <td>getProtectionDomain</td>
+ *   <th scope="row">getProtectionDomain</th>
  *   <td>Retrieval of the ProtectionDomain for a class</td>
  *   <td>This allows code to obtain policy information
  * for a particular code source. While obtaining policy information
@@ -209,7 +209,7 @@
  * </tr>
  *
  * <tr>
- *   <td>getFileSystemAttributes</td>
+ *   <th scope="row">getFileSystemAttributes</th>
  *   <td>Retrieval of file system attributes</td>
  *   <td>This allows code to obtain file system information such as disk usage
  *       or disk space available to the caller.  This is potentially dangerous
@@ -219,7 +219,7 @@
  * </tr>
  *
  * <tr>
- *   <td>readFileDescriptor</td>
+ *   <th scope="row">readFileDescriptor</th>
  *   <td>Reading of file descriptors</td>
  *   <td>This would allow code to read the particular file associated
  *       with the file descriptor read. This is dangerous if the file
@@ -227,7 +227,7 @@
  * </tr>
  *
  * <tr>
- *   <td>writeFileDescriptor</td>
+ *   <th scope="row">writeFileDescriptor</th>
  *   <td>Writing to file descriptors</td>
  *   <td>This allows code to write to a particular file associated
  *       with the descriptor. This is dangerous because it may allow
@@ -236,7 +236,7 @@
  * </tr>
  *
  * <tr>
- *   <td>loadLibrary.{library name}</td>
+ *   <th scope="row">loadLibrary.{library name}</th>
  *   <td>Dynamic linking of the specified library</td>
  *   <td>It is dangerous to allow an applet permission to load native code
  * libraries, because the Java security architecture is not designed to and
@@ -244,7 +244,7 @@
  * </tr>
  *
  * <tr>
- *   <td>accessClassInPackage.{package name}</td>
+ *   <th scope="row">accessClassInPackage.{package name}</th>
  *   <td>Access to the specified package via a class loader's
  * <code>loadClass</code> method when that class loader calls
  * the SecurityManager <code>checkPackageAccess</code> method</td>
@@ -255,7 +255,7 @@
  * </tr>
  *
  * <tr>
- *   <td>defineClassInPackage.{package name}</td>
+ *   <th scope="row">defineClassInPackage.{package name}</th>
  *   <td>Definition of classes in the specified package, via a class
  * loader's <code>defineClass</code> method when that class loader calls
  * the SecurityManager <code>checkPackageDefinition</code> method.</td>
@@ -267,7 +267,7 @@
  * </tr>
  *
  * <tr>
- *   <td>defineClass</td>
+ *   <th scope="row">defineClass</th>
  *   <td>Define a class with
  * {@link java.lang.invoke.MethodHandles.Lookup#defineClass(byte[])
  * Lookup.defineClass}.</td>
@@ -277,7 +277,7 @@
  * </tr>
  *
  * <tr>
- *   <td>accessDeclaredMembers</td>
+ *   <th scope="row">accessDeclaredMembers</th>
  *   <td>Access to the declared members of a class</td>
  *   <td>This grants code permission to query a class for its public,
  * protected, default (package) access, and private fields and/or
@@ -295,14 +295,14 @@
 </td>
  * </tr>
  * <tr>
- *   <td>queuePrintJob</td>
+ *   <th scope="row">queuePrintJob</th>
  *   <td>Initiation of a print job request</td>
  *   <td>This could print sensitive information to a printer,
  * or simply waste paper.</td>
  * </tr>
  *
  * <tr>
- *   <td>getStackTrace</td>
+ *   <th scope="row">getStackTrace</th>
  *   <td>Retrieval of the stack trace information of another thread.</td>
  *   <td>This allows retrieval of the stack trace information of
  * another thread.  This might allow malicious code to monitor the
@@ -310,7 +310,7 @@
  * </tr>
  *
  * <tr>
- *   <td>getStackWalkerWithClassReference</td>
+ *   <th scope="row">getStackWalkerWithClassReference</th>
  *   <td>Get a stack walker that can retrieve stack frames with class reference.</td>
  *   <td>This allows retrieval of Class objects from stack walking.
  *   This might allow malicious code to access Class objects on the stack
@@ -318,7 +318,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setDefaultUncaughtExceptionHandler</td>
+ *   <th scope="row">setDefaultUncaughtExceptionHandler</th>
  *   <td>Setting the default handler to be used when a thread
  *   terminates abruptly due to an uncaught exception</td>
  *   <td>This allows an attacker to register a malicious
@@ -327,7 +327,7 @@
  * </tr>
  *
  * <tr>
- *   <td>preferences</td>
+ *   <th scope="row">preferences</th>
  *   <td>Represents the permission required to get access to the
  *   java.util.prefs.Preferences implementations user or system root
  *   which in turn allows retrieval or update operations within the
@@ -340,14 +340,14 @@
  * </tr>
  *
  * <tr>
- *   <td>manageProcess</td>
+ *   <th scope="row">manageProcess</th>
  *   <td>Native process termination and information about processes
  *       {@link ProcessHandle}.</td>
  *   <td>Allows code to identify and terminate processes that it did not create.</td>
  * </tr>
  *
  * <tr>
- *   <td>localeServiceProvider</td>
+ *   <th scope="row">localeServiceProvider</th>
  *   <td>This {@code RuntimePermission} is required to be granted to
  *   classes which subclass and implement
  *   {@code java.util.spi.LocaleServiceProvider}. The permission is
@@ -360,7 +360,7 @@
  * </tr>
  *
  * <tr>
- *   <td>loggerFinder</td>
+ *   <th scope="row">loggerFinder</th>
  *   <td>This {@code RuntimePermission} is required to be granted to
  *   classes which subclass or call methods on
  *   {@code java.lang.System.LoggerFinder}. The permission is
@@ -373,7 +373,7 @@
  * </tr>
  *
  * <tr>
- *   <td>accessSystemModules</td>
+ *   <th scope="row">accessSystemModules</th>
  *   <td>Access system modules in the runtime image.</td>
  *   <td>This grants the permission to access resources in the
  *   {@linkplain ModuleFinder#ofSystem system modules} in the runtime image.</td>
--- a/jdk/src/java.base/share/classes/java/lang/System.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/lang/System.java	Wed Jul 12 12:48:01 2017 -0700
@@ -582,67 +582,67 @@
      * <table class="striped">
      * <caption style="display:none">Shows property keys and associated values</caption>
      * <thead>
-     * <tr><th>Key</th>
-     *     <th>Description of Associated Value</th></tr>
+     * <tr><th scope="col">Key</th>
+     *     <th scope="col">Description of Associated Value</th></tr>
      * </thead>
      * <tbody>
-     * <tr><td><code>java.version</code></td>
+     * <tr><th scope="row"><code>java.version</code></th>
      *     <td>Java Runtime Environment version which may be interpreted
      *     as a {@link Runtime.Version}</td></tr>
-     * <tr><td><code>java.vendor</code></td>
+     * <tr><th scope="row"><code>java.vendor</code></th>
      *     <td>Java Runtime Environment vendor</td></tr>
-     * <tr><td><code>java.vendor.url</code></td>
+     * <tr><th scope="row"><code>java.vendor.url</code></th>
      *     <td>Java vendor URL</td></tr>
-     * <tr><td><code>java.home</code></td>
+     * <tr><th scope="row"><code>java.home</code></th>
      *     <td>Java installation directory</td></tr>
-     * <tr><td><code>java.vm.specification.version</code></td>
+     * <tr><th scope="row"><code>java.vm.specification.version</code></th>
      *     <td>Java Virtual Machine specification version which may be
      *     interpreted as a {@link Runtime.Version}</td></tr>
-     * <tr><td><code>java.vm.specification.vendor</code></td>
+     * <tr><th scope="row"><code>java.vm.specification.vendor</code></th>
      *     <td>Java Virtual Machine specification vendor</td></tr>
-     * <tr><td><code>java.vm.specification.name</code></td>
+     * <tr><th scope="row"><code>java.vm.specification.name</code></th>
      *     <td>Java Virtual Machine specification name</td></tr>
-     * <tr><td><code>java.vm.version</code></td>
+     * <tr><th scope="row"><code>java.vm.version</code></th>
      *     <td>Java Virtual Machine implementation version which may be
      *     interpreted as a {@link Runtime.Version}</td></tr>
-     * <tr><td><code>java.vm.vendor</code></td>
+     * <tr><th scope="row"><code>java.vm.vendor</code></th>
      *     <td>Java Virtual Machine implementation vendor</td></tr>
-     * <tr><td><code>java.vm.name</code></td>
+     * <tr><th scope="row"><code>java.vm.name</code></th>
      *     <td>Java Virtual Machine implementation name</td></tr>
-     * <tr><td><code>java.specification.version</code></td>
+     * <tr><th scope="row"><code>java.specification.version</code></th>
      *     <td>Java Runtime Environment specification version which may be
      *     interpreted as a {@link Runtime.Version}</td></tr>
-     * <tr><td><code>java.specification.vendor</code></td>
+     * <tr><th scope="row"><code>java.specification.vendor</code></th>
      *     <td>Java Runtime Environment specification  vendor</td></tr>
-     * <tr><td><code>java.specification.name</code></td>
+     * <tr><th scope="row"><code>java.specification.name</code></th>
      *     <td>Java Runtime Environment specification  name</td></tr>
-     * <tr><td><code>java.class.version</code></td>
+     * <tr><th scope="row"><code>java.class.version</code></th>
      *     <td>Java class format version number</td></tr>
-     * <tr><td><code>java.class.path</code></td>
+     * <tr><th scope="row"><code>java.class.path</code></th>
      *     <td>Java class path</td></tr>
-     * <tr><td><code>java.library.path</code></td>
+     * <tr><th scope="row"><code>java.library.path</code></th>
      *     <td>List of paths to search when loading libraries</td></tr>
-     * <tr><td><code>java.io.tmpdir</code></td>
+     * <tr><th scope="row"><code>java.io.tmpdir</code></th>
      *     <td>Default temp file path</td></tr>
-     * <tr><td><code>java.compiler</code></td>
+     * <tr><th scope="row"><code>java.compiler</code></th>
      *     <td>Name of JIT compiler to use</td></tr>
-     * <tr><td><code>os.name</code></td>
+     * <tr><th scope="row"><code>os.name</code></th>
      *     <td>Operating system name</td></tr>
-     * <tr><td><code>os.arch</code></td>
+     * <tr><th scope="row"><code>os.arch</code></th>
      *     <td>Operating system architecture</td></tr>
-     * <tr><td><code>os.version</code></td>
+     * <tr><th scope="row"><code>os.version</code></th>
      *     <td>Operating system version</td></tr>
-     * <tr><td><code>file.separator</code></td>
+     * <tr><th scope="row"><code>file.separator</code></th>
      *     <td>File separator ("/" on UNIX)</td></tr>
-     * <tr><td><code>path.separator</code></td>
+     * <tr><th scope="row"><code>path.separator</code></th>
      *     <td>Path separator (":" on UNIX)</td></tr>
-     * <tr><td><code>line.separator</code></td>
+     * <tr><th scope="row"><code>line.separator</code></th>
      *     <td>Line separator ("\n" on UNIX)</td></tr>
-     * <tr><td><code>user.name</code></td>
+     * <tr><th scope="row"><code>user.name</code></th>
      *     <td>User's account name</td></tr>
-     * <tr><td><code>user.home</code></td>
+     * <tr><th scope="row"><code>user.home</code></th>
      *     <td>User's home directory</td></tr>
-     * <tr><td><code>user.dir</code></td>
+     * <tr><th scope="row"><code>user.dir</code></th>
      *     <td>User's current working directory</td></tr>
      * </tbody>
      * </table>
@@ -659,17 +659,17 @@
      * <table class="striped">
      * <caption style="display:none">Shows property keys and associated values</caption>
      * <thead>
-     * <tr><th>Key</th>
-     *     <th>Description of Associated Value</th></tr>
+     * <tr><th scope="col">Key</th>
+     *     <th scope="col">Description of Associated Value</th></tr>
      * </thead>
      * <tbody>
-     * <tr><td>{@code jdk.module.path}</td>
+     * <tr><th scope="row">{@code jdk.module.path}</th>
      *     <td>The application module path</td></tr>
-     * <tr><td>{@code jdk.module.upgrade.path}</td>
+     * <tr><th scope="row">{@code jdk.module.upgrade.path}</th>
      *     <td>The upgrade module path</td></tr>
-     * <tr><td>{@code jdk.module.main}</td>
+     * <tr><th scope="row">{@code jdk.module.main}</th>
      *     <td>The module name of the initial/main module</td></tr>
-     * <tr><td>{@code jdk.module.main.class}</td>
+     * <tr><th scope="row">{@code jdk.module.main.class}</th>
      *     <td>The main class name of the initial module</td></tr>
      * </tbody>
      * </table>
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandleInfo.java	Wed Jul 12 12:48:01 2017 -0700
@@ -84,43 +84,43 @@
  * <table class="striped">
  * <caption style="display:none">reference kinds</caption>
  * <thead>
- * <tr><th>reference kind</th><th>descriptive name</th><th>scope</th><th>member</th><th>behavior</th></tr>
+ * <tr><th scope="col">reference kind</th><th scope="col">descriptive name</th><th scope="col">scope</th><th scope="col">member</th><th scope="col">behavior</th></tr>
  * </thead>
  * <tbody>
  * <tr>
- *     <td>{@code 1}</td><td>{@code REF_getField}</td><td>{@code class}</td>
+ *     <th scope="row">{@code 1}</th><td>{@code REF_getField}</td><td>{@code class}</td>
  *     <td>{@code FT f;}</td><td>{@code (T) this.f;}</td>
  * </tr>
  * <tr>
- *     <td>{@code 2}</td><td>{@code REF_getStatic}</td><td>{@code class} or {@code interface}</td>
+ *     <th scope="row">{@code 2}</th><td>{@code REF_getStatic}</td><td>{@code class} or {@code interface}</td>
  *     <td>{@code static}<br>{@code FT f;}</td><td>{@code (T) C.f;}</td>
  * </tr>
  * <tr>
- *     <td>{@code 3}</td><td>{@code REF_putField}</td><td>{@code class}</td>
+ *     <th scope="row">{@code 3}</th><td>{@code REF_putField}</td><td>{@code class}</td>
  *     <td>{@code FT f;}</td><td>{@code this.f = x;}</td>
  * </tr>
  * <tr>
- *     <td>{@code 4}</td><td>{@code REF_putStatic}</td><td>{@code class}</td>
+ *     <th scope="row">{@code 4}</th><td>{@code REF_putStatic}</td><td>{@code class}</td>
  *     <td>{@code static}<br>{@code FT f;}</td><td>{@code C.f = arg;}</td>
  * </tr>
  * <tr>
- *     <td>{@code 5}</td><td>{@code REF_invokeVirtual}</td><td>{@code class}</td>
+ *     <th scope="row">{@code 5}</th><td>{@code REF_invokeVirtual}</td><td>{@code class}</td>
  *     <td>{@code T m(A*);}</td><td>{@code (T) this.m(arg*);}</td>
  * </tr>
  * <tr>
- *     <td>{@code 6}</td><td>{@code REF_invokeStatic}</td><td>{@code class} or {@code interface}</td>
+ *     <th scope="row">{@code 6}</th><td>{@code REF_invokeStatic}</td><td>{@code class} or {@code interface}</td>
  *     <td>{@code static}<br>{@code T m(A*);}</td><td>{@code (T) C.m(arg*);}</td>
  * </tr>
  * <tr>
- *     <td>{@code 7}</td><td>{@code REF_invokeSpecial}</td><td>{@code class} or {@code interface}</td>
+ *     <th scope="row">{@code 7}</th><td>{@code REF_invokeSpecial}</td><td>{@code class} or {@code interface}</td>
  *     <td>{@code T m(A*);}</td><td>{@code (T) super.m(arg*);}</td>
  * </tr>
  * <tr>
- *     <td>{@code 8}</td><td>{@code REF_newInvokeSpecial}</td><td>{@code class}</td>
+ *     <th scope="row">{@code 8}</th><td>{@code REF_newInvokeSpecial}</td><td>{@code class}</td>
  *     <td>{@code C(A*);}</td><td>{@code new C(arg*);}</td>
  * </tr>
  * <tr>
- *     <td>{@code 9}</td><td>{@code REF_invokeInterface}</td><td>{@code interface}</td>
+ *     <th scope="row">{@code 9}</th><td>{@code REF_invokeInterface}</td><td>{@code interface}</td>
  *     <td>{@code T m(A*);}</td><td>{@code (T) this.m(arg*);}</td>
  * </tr>
  * </tbody>
--- a/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/lang/invoke/MethodHandles.java	Wed Jul 12 12:48:01 2017 -0700
@@ -282,66 +282,66 @@
      * <caption style="display:none">lookup method behaviors</caption>
      * <thead>
      * <tr>
-     *     <th><a id="equiv"></a>lookup expression</th>
-     *     <th>member</th>
-     *     <th>bytecode behavior</th>
+     *     <th scope="col"><a id="equiv"></a>lookup expression</th>
+     *     <th scope="col">member</th>
+     *     <th scope="col">bytecode behavior</th>
      * </tr>
      * </thead>
      * <tbody>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findGetter lookup.findGetter(C.class,"f",FT.class)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#findGetter lookup.findGetter(C.class,"f",FT.class)}</th>
      *     <td>{@code FT f;}</td><td>{@code (T) this.f;}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findStaticGetter lookup.findStaticGetter(C.class,"f",FT.class)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#findStaticGetter lookup.findStaticGetter(C.class,"f",FT.class)}</th>
      *     <td>{@code static}<br>{@code FT f;}</td><td>{@code (T) C.f;}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findSetter lookup.findSetter(C.class,"f",FT.class)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#findSetter lookup.findSetter(C.class,"f",FT.class)}</th>
      *     <td>{@code FT f;}</td><td>{@code this.f = x;}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findStaticSetter lookup.findStaticSetter(C.class,"f",FT.class)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#findStaticSetter lookup.findStaticSetter(C.class,"f",FT.class)}</th>
      *     <td>{@code static}<br>{@code FT f;}</td><td>{@code C.f = arg;}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findVirtual lookup.findVirtual(C.class,"m",MT)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#findVirtual lookup.findVirtual(C.class,"m",MT)}</th>
      *     <td>{@code T m(A*);}</td><td>{@code (T) this.m(arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findStatic lookup.findStatic(C.class,"m",MT)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#findStatic lookup.findStatic(C.class,"m",MT)}</th>
      *     <td>{@code static}<br>{@code T m(A*);}</td><td>{@code (T) C.m(arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findSpecial lookup.findSpecial(C.class,"m",MT,this.class)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#findSpecial lookup.findSpecial(C.class,"m",MT,this.class)}</th>
      *     <td>{@code T m(A*);}</td><td>{@code (T) super.m(arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findConstructor lookup.findConstructor(C.class,MT)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#findConstructor lookup.findConstructor(C.class,MT)}</th>
      *     <td>{@code C(A*);}</td><td>{@code new C(arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#unreflectGetter lookup.unreflectGetter(aField)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#unreflectGetter lookup.unreflectGetter(aField)}</th>
      *     <td>({@code static})?<br>{@code FT f;}</td><td>{@code (FT) aField.get(thisOrNull);}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#unreflectSetter lookup.unreflectSetter(aField)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#unreflectSetter lookup.unreflectSetter(aField)}</th>
      *     <td>({@code static})?<br>{@code FT f;}</td><td>{@code aField.set(thisOrNull, arg);}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#unreflect lookup.unreflect(aMethod)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#unreflect lookup.unreflect(aMethod)}</th>
      *     <td>({@code static})?<br>{@code T m(A*);}</td><td>{@code (T) aMethod.invoke(thisOrNull, arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#unreflectConstructor lookup.unreflectConstructor(aConstructor)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#unreflectConstructor lookup.unreflectConstructor(aConstructor)}</th>
      *     <td>{@code C(A*);}</td><td>{@code (C) aConstructor.newInstance(arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#unreflect lookup.unreflect(aMethod)}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#unreflect lookup.unreflect(aMethod)}</th>
      *     <td>({@code static})?<br>{@code T m(A*);}</td><td>{@code (T) aMethod.invoke(thisOrNull, arg*);}</td>
      * </tr>
      * <tr>
-     *     <td>{@link java.lang.invoke.MethodHandles.Lookup#findClass lookup.findClass("C")}</td>
+     *     <th scope="row">{@link java.lang.invoke.MethodHandles.Lookup#findClass lookup.findClass("C")}</th>
      *     <td>{@code class C { ... }}</td><td>{@code C.class;}</td>
      * </tr>
      * </tbody>
--- a/jdk/src/java.base/share/classes/java/lang/reflect/ReflectPermission.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/lang/reflect/ReflectPermission.java	Wed Jul 12 12:48:01 2017 -0700
@@ -36,15 +36,15 @@
  * <caption style="display:none">Table shows permission target name, what the permission allows, and associated risks</caption>
  * <thead>
  * <tr>
- * <th>Permission Target Name</th>
- * <th>What the Permission Allows</th>
- * <th>Risks of Allowing this Permission</th>
+ * <th scope="col">Permission Target Name</th>
+ * <th scope="col">What the Permission Allows</th>
+ * <th scope="col">Risks of Allowing this Permission</th>
  * </tr>
  * </thead>
  * <tbody>
  *
  * <tr>
- *   <td>suppressAccessChecks</td>
+ *   <th scope="row">suppressAccessChecks</th>
  *   <td>ability to suppress the standard Java language access checks
  *       on fields and methods in a class; allow access not only public members
  *       but also allow access to default (package) access, protected,
@@ -53,7 +53,7 @@
  *       methods normally unavailable would be accessible to malicious code.</td>
  * </tr>
  * <tr>
- *   <td>newProxyInPackage.{package name}</td>
+ *   <th scope="row">newProxyInPackage.{package name}</th>
  *   <td>ability to create a proxy instance in the specified package of which
  *       the non-public interface that the proxy class implements.</td>
  *   <td>This gives code access to classes in packages to which it normally
--- a/jdk/src/java.base/share/classes/java/net/NetPermission.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/net/NetPermission.java	Wed Jul 12 12:48:01 2017 -0700
@@ -51,14 +51,14 @@
  * <caption style="display:none">Permission target name, what the permission allows, and associated risks</caption>
  * <thead>
  * <tr>
- * <th>Permission Target Name</th>
- * <th>What the Permission Allows</th>
- * <th>Risks of Allowing this Permission</th>
+ * <th scope="col">Permission Target Name</th>
+ * <th scope="col">What the Permission Allows</th>
+ * <th scope="col">Risks of Allowing this Permission</th>
  * </tr>
  * </thead>
  * <tbody>
  * <tr>
- *   <td>allowHttpTrace</td>
+ *   <th scope="row">allowHttpTrace</th>
  *   <td>The ability to use the HTTP TRACE method in HttpURLConnection.</td>
  *   <td>Malicious code using HTTP TRACE could get access to security sensitive
  *   information in the HTTP headers (such as cookies) that it might not
@@ -66,7 +66,7 @@
  *   </tr>
  *
  * <tr>
- *   <td>getCookieHandler</td>
+ *   <th scope="row">getCookieHandler</th>
  *   <td>The ability to get the cookie handler that processes highly
  *   security sensitive cookie information for an Http session.</td>
  *   <td>Malicious code can get a cookie handler to obtain access to
@@ -76,14 +76,14 @@
  *   </tr>
  *
  * <tr>
- *   <td>getNetworkInformation</td>
+ *   <th scope="row">getNetworkInformation</th>
  *   <td>The ability to retrieve all information about local network interfaces.</td>
  *   <td>Malicious code can read information about network hardware such as
  *   MAC addresses, which could be used to construct local IPv6 addresses.</td>
  * </tr>
  *
  * <tr>
- *   <td>getProxySelector</td>
+ *   <th scope="row">getProxySelector</th>
  *   <td>The ability to get the proxy selector used to make decisions
  *   on which proxies to use when making network connections.</td>
  *   <td>Malicious code can get a ProxySelector to discover proxy
@@ -92,7 +92,7 @@
  * </tr>
  *
  * <tr>
- *   <td>getResponseCache</td>
+ *   <th scope="row">getResponseCache</th>
  *   <td>The ability to get the response cache that provides
  *   access to a local response cache.</td>
  *   <td>Malicious code getting access to the local response cache
@@ -100,7 +100,7 @@
  *   </tr>
  *
  * <tr>
- *   <td>requestPasswordAuthentication</td>
+ *   <th scope="row">requestPasswordAuthentication</th>
  *   <td>The ability
  *   to ask the authenticator registered with the system for
  *   a password</td>
@@ -108,7 +108,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setCookieHandler</td>
+ *   <th scope="row">setCookieHandler</th>
  *   <td>The ability to set the cookie handler that processes highly
  *   security sensitive cookie information for an Http session.</td>
  *   <td>Malicious code can set a cookie handler to obtain access to
@@ -118,7 +118,7 @@
  *   </tr>
  *
  * <tr>
- *   <td>setDefaultAuthenticator</td>
+ *   <th scope="row">setDefaultAuthenticator</th>
  *   <td>The ability to set the
  *   way authentication information is retrieved when
  *   a proxy or HTTP server asks for authentication</td>
@@ -128,7 +128,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setProxySelector</td>
+ *   <th scope="row">setProxySelector</th>
  *   <td>The ability to set the proxy selector used to make decisions
  *   on which proxies to use when making network connections.</td>
  *   <td>Malicious code can set a ProxySelector that directs network
@@ -136,7 +136,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setResponseCache</td>
+ *   <th scope="row">setResponseCache</th>
  *   <td>The ability to set the response cache that provides access to
  *   a local response cache.</td>
  *   <td>Malicious code getting access to the local response cache
@@ -145,7 +145,7 @@
  *   </tr>
  *
  * <tr>
- *   <td>specifyStreamHandler</td>
+ *   <th scope="row">specifyStreamHandler</th>
  *   <td>The ability
  *   to specify a stream handler when constructing a URL</td>
  *   <td>Malicious code may create a URL with resources that it would
--- a/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousChannelGroup.java	Wed Jul 12 12:48:01 2017 -0700
@@ -64,13 +64,13 @@
  * <caption style="display:none:">System properties</caption>
  *   <thead>
  *   <tr>
- *     <th>System property</th>
- *     <th>Description</th>
+ *     <th scope="col">System property</th>
+ *     <th scope="col">Description</th>
  *   </tr>
  *   </thead>
  *   <tbody>
  *   <tr>
- *     <td> {@code java.nio.channels.DefaultThreadPool.threadFactory} </td>
+ *     <th scope="row"> {@code java.nio.channels.DefaultThreadPool.threadFactory} </th>
  *     <td> The value of this property is taken to be the fully-qualified name
  *     of a concrete {@link java.util.concurrent.ThreadFactory ThreadFactory}
  *     class. The class is loaded using the system class loader and instantiated.
@@ -81,7 +81,7 @@
  *     construction of the default group. </td>
  *   </tr>
  *   <tr>
- *     <td> {@code java.nio.channels.DefaultThreadPool.initialSize} </td>
+ *     <th scope="row"> {@code java.nio.channels.DefaultThreadPool.initialSize} </th>
  *     <td> The value of the {@code initialSize} parameter for the default
  *     group (see {@link #withCachedThreadPool withCachedThreadPool}).
  *     The value of the property is taken to be the {@code String}
--- a/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousFileChannel.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousFileChannel.java	Wed Jul 12 12:48:01 2017 -0700
@@ -136,17 +136,17 @@
      * <table class="striped">
      * <caption style="display:none">additional options</caption>
      * <thead>
-     * <tr> <th>Option</th> <th>Description</th> </tr>
+     * <tr> <th scope="col">Option</th> <th scope="col">Description</th> </tr>
      * </thead>
      * <tbody>
      * <tr>
-     *   <td> {@link StandardOpenOption#TRUNCATE_EXISTING TRUNCATE_EXISTING} </td>
+     *   <th scope="row"> {@link StandardOpenOption#TRUNCATE_EXISTING TRUNCATE_EXISTING} </th>
      *   <td> When opening an existing file, the file is first truncated to a
      *   size of 0 bytes. This option is ignored when the file is opened only
      *   for reading.</td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardOpenOption#CREATE_NEW CREATE_NEW} </td>
+     *   <th scope="row"> {@link StandardOpenOption#CREATE_NEW CREATE_NEW} </th>
      *   <td> If this option is present then a new file is created, failing if
      *   the file already exists. When creating a file the check for the
      *   existence of the file and the creation of the file if it does not exist
@@ -154,7 +154,7 @@
      *   ignored when the file is opened only for reading. </td>
      * </tr>
      * <tr>
-     *   <td > {@link StandardOpenOption#CREATE CREATE} </td>
+     *   <th scope="row" > {@link StandardOpenOption#CREATE CREATE} </th>
      *   <td> If this option is present then an existing file is opened if it
      *   exists, otherwise a new file is created. When creating a file the check
      *   for the existence of the file and the creation of the file if it does
@@ -163,7 +163,7 @@
      *   the file is opened only for reading. </td>
      * </tr>
      * <tr>
-     *   <td > {@link StandardOpenOption#DELETE_ON_CLOSE DELETE_ON_CLOSE} </td>
+     *   <th scope="row" > {@link StandardOpenOption#DELETE_ON_CLOSE DELETE_ON_CLOSE} </th>
      *   <td> When this option is present then the implementation makes a
      *   <em>best effort</em> attempt to delete the file when closed by the
      *   the {@link #close close} method. If the {@code close} method is not
@@ -171,20 +171,20 @@
      *   when the Java virtual machine terminates. </td>
      * </tr>
      * <tr>
-     *   <td>{@link StandardOpenOption#SPARSE SPARSE} </td>
+     *   <th scope="row">{@link StandardOpenOption#SPARSE SPARSE} </th>
      *   <td> When creating a new file this option is a <em>hint</em> that the
      *   new file will be sparse. This option is ignored when not creating
      *   a new file. </td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardOpenOption#SYNC SYNC} </td>
+     *   <th scope="row"> {@link StandardOpenOption#SYNC SYNC} </th>
      *   <td> Requires that every update to the file's content or metadata be
      *   written synchronously to the underlying storage device. (see <a
      *   href="../file/package-summary.html#integrity"> Synchronized I/O file
      *   integrity</a>). </td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardOpenOption#DSYNC DSYNC} </td>
+     *   <th scope="row"> {@link StandardOpenOption#DSYNC DSYNC} </th>
      *   <td> Requires that every update to the file's content be written
      *   synchronously to the underlying storage device. (see <a
      *   href="../file/package-summary.html#integrity"> Synchronized I/O file
--- a/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousServerSocketChannel.java	Wed Jul 12 12:48:01 2017 -0700
@@ -56,17 +56,17 @@
  * <caption style="display:none">Socket options</caption>
  * <thead>
  *   <tr>
- *     <th>Option Name</th>
- *     <th>Description</th>
+ *     <th scope="col">Option Name</th>
+ *     <th scope="col">Description</th>
  *   </tr>
  * </thead>
  * <tbody>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} </th>
  *     <td> The size of the socket receive buffer </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} </th>
  *     <td> Re-use address </td>
  *   </tr>
  * </tbody>
--- a/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousSocketChannel.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/channels/AsynchronousSocketChannel.java	Wed Jul 12 12:48:01 2017 -0700
@@ -66,29 +66,29 @@
  * <caption style="display:none">Socket options</caption>
  * <thead>
  *   <tr>
- *     <th>Option Name</th>
- *     <th>Description</th>
+ *     <th scope="col">Option Name</th>
+ *     <th scope="col">Description</th>
  *   </tr>
  * </thead>
  * <tbody>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF} </th>
  *     <td> The size of the socket send buffer </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} </th>
  *     <td> The size of the socket receive buffer </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_KEEPALIVE SO_KEEPALIVE} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_KEEPALIVE SO_KEEPALIVE} </th>
  *     <td> Keep connection alive </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} </th>
  *     <td> Re-use address </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY} </th>
  *     <td> Disable the Nagle algorithm </td>
  *   </tr>
  * </tbody>
--- a/jdk/src/java.base/share/classes/java/nio/channels/DatagramChannel.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/channels/DatagramChannel.java	Wed Jul 12 12:48:01 2017 -0700
@@ -61,44 +61,44 @@
  * <caption style="display:none">Socket options</caption>
  * <thead>
  *   <tr>
- *     <th>Option Name</th>
- *     <th>Description</th>
+ *     <th scope="col">Option Name</th>
+ *     <th scope="col">Description</th>
  *   </tr>
  * </thead>
  * <tbody>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF} </th>
  *     <td> The size of the socket send buffer </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} </th>
  *     <td> The size of the socket receive buffer </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} </th>
  *     <td> Re-use address </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_BROADCAST SO_BROADCAST} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_BROADCAST SO_BROADCAST} </th>
  *     <td> Allow transmission of broadcast datagrams </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#IP_TOS IP_TOS} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#IP_TOS IP_TOS} </th>
  *     <td> The Type of Service (ToS) octet in the Internet Protocol (IP) header </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#IP_MULTICAST_IF IP_MULTICAST_IF} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#IP_MULTICAST_IF IP_MULTICAST_IF} </th>
  *     <td> The network interface for Internet Protocol (IP) multicast datagrams </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#IP_MULTICAST_TTL
- *       IP_MULTICAST_TTL} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#IP_MULTICAST_TTL
+ *       IP_MULTICAST_TTL} </th>
  *     <td> The <em>time-to-live</em> for Internet Protocol (IP) multicast
  *       datagrams </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#IP_MULTICAST_LOOP
- *       IP_MULTICAST_LOOP} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#IP_MULTICAST_LOOP
+ *       IP_MULTICAST_LOOP} </th>
  *     <td> Loopback for Internet Protocol (IP) multicast datagrams </td>
  *   </tr>
  * </tbody>
--- a/jdk/src/java.base/share/classes/java/nio/channels/FileChannel.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/channels/FileChannel.java	Wed Jul 12 12:48:01 2017 -0700
@@ -177,11 +177,11 @@
      * <table class="striped">
      * <caption style="display:none">additional options</caption>
      * <thead>
-     * <tr> <th>Option</th> <th>Description</th> </tr>
+     * <tr> <th scope="col">Option</th> <th scope="col">Description</th> </tr>
      * </thead>
      * <tbody>
      * <tr>
-     *   <td> {@link StandardOpenOption#APPEND APPEND} </td>
+     *   <th scope="row"> {@link StandardOpenOption#APPEND APPEND} </th>
      *   <td> If this option is present then the file is opened for writing and
      *     each invocation of the channel's {@code write} method first advances
      *     the position to the end of the file and then writes the requested
@@ -191,13 +191,13 @@
      *     with the {@code READ} or {@code TRUNCATE_EXISTING} options. </td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardOpenOption#TRUNCATE_EXISTING TRUNCATE_EXISTING} </td>
+     *   <th scope="row"> {@link StandardOpenOption#TRUNCATE_EXISTING TRUNCATE_EXISTING} </th>
      *   <td> If this option is present then the existing file is truncated to
      *   a size of 0 bytes. This option is ignored when the file is opened only
      *   for reading. </td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardOpenOption#CREATE_NEW CREATE_NEW} </td>
+     *   <th scope="row"> {@link StandardOpenOption#CREATE_NEW CREATE_NEW} </th>
      *   <td> If this option is present then a new file is created, failing if
      *   the file already exists. When creating a file the check for the
      *   existence of the file and the creation of the file if it does not exist
@@ -205,7 +205,7 @@
      *   ignored when the file is opened only for reading. </td>
      * </tr>
      * <tr>
-     *   <td > {@link StandardOpenOption#CREATE CREATE} </td>
+     *   <th scope="row" > {@link StandardOpenOption#CREATE CREATE} </th>
      *   <td> If this option is present then an existing file is opened if it
      *   exists, otherwise a new file is created. When creating a file the check
      *   for the existence of the file and the creation of the file if it does
@@ -214,7 +214,7 @@
      *   the file is opened only for reading. </td>
      * </tr>
      * <tr>
-     *   <td > {@link StandardOpenOption#DELETE_ON_CLOSE DELETE_ON_CLOSE} </td>
+     *   <th scope="row" > {@link StandardOpenOption#DELETE_ON_CLOSE DELETE_ON_CLOSE} </th>
      *   <td> When this option is present then the implementation makes a
      *   <em>best effort</em> attempt to delete the file when closed by the
      *   the {@link #close close} method. If the {@code close} method is not
@@ -222,20 +222,20 @@
      *   when the Java virtual machine terminates. </td>
      * </tr>
      * <tr>
-     *   <td>{@link StandardOpenOption#SPARSE SPARSE} </td>
+     *   <th scope="row">{@link StandardOpenOption#SPARSE SPARSE} </th>
      *   <td> When creating a new file this option is a <em>hint</em> that the
      *   new file will be sparse. This option is ignored when not creating
      *   a new file. </td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardOpenOption#SYNC SYNC} </td>
+     *   <th scope="row"> {@link StandardOpenOption#SYNC SYNC} </th>
      *   <td> Requires that every update to the file's content or metadata be
      *   written synchronously to the underlying storage device. (see <a
      *   href="../file/package-summary.html#integrity"> Synchronized I/O file
      *   integrity</a>). </td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardOpenOption#DSYNC DSYNC} </td>
+     *   <th scope="row"> {@link StandardOpenOption#DSYNC DSYNC} </th>
      *   <td> Requires that every update to the file's content be written
      *   synchronously to the underlying storage device. (see <a
      *   href="../file/package-summary.html#integrity"> Synchronized I/O file
--- a/jdk/src/java.base/share/classes/java/nio/channels/ServerSocketChannel.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/channels/ServerSocketChannel.java	Wed Jul 12 12:48:01 2017 -0700
@@ -50,17 +50,17 @@
  * <caption style="display:none">Socket options</caption>
  * <thead>
  *   <tr>
- *     <th>Option Name</th>
- *     <th>Description</th>
+ *     <th scope="col">Option Name</th>
+ *     <th scope="col">Description</th>
  *   </tr>
  * </thead>
  * <tbody>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} </th>
  *     <td> The size of the socket receive buffer </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} </th>
  *     <td> Re-use address </td>
  *   </tr>
  * </tbody>
--- a/jdk/src/java.base/share/classes/java/nio/channels/SocketChannel.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/channels/SocketChannel.java	Wed Jul 12 12:48:01 2017 -0700
@@ -70,34 +70,34 @@
  * <caption style="display:none">Socket options</caption>
  * <thead>
  *   <tr>
- *     <th>Option Name</th>
- *     <th>Description</th>
+ *     <th scope="col">Option Name</th>
+ *     <th scope="col">Description</th>
  *   </tr>
  * </thead>
  * <tbody>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_SNDBUF SO_SNDBUF} </th>
  *     <td> The size of the socket send buffer </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_RCVBUF SO_RCVBUF} </th>
  *     <td> The size of the socket receive buffer </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_KEEPALIVE SO_KEEPALIVE} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_KEEPALIVE SO_KEEPALIVE} </th>
  *     <td> Keep connection alive </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_REUSEADDR SO_REUSEADDR} </th>
  *     <td> Re-use address </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#SO_LINGER SO_LINGER} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#SO_LINGER SO_LINGER} </th>
  *     <td> Linger on close if data is present (when configured in blocking mode
  *          only) </td>
  *   </tr>
  *   <tr>
- *     <td> {@link java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY} </td>
+ *     <th scope="row"> {@link java.net.StandardSocketOptions#TCP_NODELAY TCP_NODELAY} </th>
  *     <td> Disable the Nagle algorithm </td>
  *   </tr>
  * </tbody>
--- a/jdk/src/java.base/share/classes/java/nio/charset/Charset.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/charset/Charset.java	Wed Jul 12 12:48:01 2017 -0700
@@ -150,23 +150,23 @@
  * <blockquote><table class="striped" style="width:80%">
  * <caption style="display:none">Description of standard charsets</caption>
  * <thead>
- * <tr><th style="text-align:left">Charset</th><th style="text-align:left">Description</th></tr>
+ * <tr><th scope="col" style="text-align:left">Charset</th><th scope="col" style="text-align:left">Description</th></tr>
  * </thead>
  * <tbody>
- * <tr><td style="vertical-align:top">{@code US-ASCII}</td>
+ * <tr><th scope="row" style="vertical-align:top">{@code US-ASCII}</th>
  *     <td>Seven-bit ASCII, a.k.a. {@code ISO646-US},
  *         a.k.a. the Basic Latin block of the Unicode character set</td></tr>
- * <tr><td style="vertical-align:top"><code>ISO-8859-1&nbsp;&nbsp;</code></td>
+ * <tr><th scope="row" style="vertical-align:top"><code>ISO-8859-1&nbsp;&nbsp;</code></th>
  *     <td>ISO Latin Alphabet No. 1, a.k.a. {@code ISO-LATIN-1}</td></tr>
- * <tr><td style="vertical-align:top">{@code UTF-8}</td>
+ * <tr><th scope="row" style="vertical-align:top">{@code UTF-8}</th>
  *     <td>Eight-bit UCS Transformation Format</td></tr>
- * <tr><td style="vertical-align:top">{@code UTF-16BE}</td>
+ * <tr><th scope="row" style="vertical-align:top">{@code UTF-16BE}</th>
  *     <td>Sixteen-bit UCS Transformation Format,
  *         big-endian byte&nbsp;order</td></tr>
- * <tr><td style="vertical-align:top">{@code UTF-16LE}</td>
+ * <tr><th scope="row" style="vertical-align:top">{@code UTF-16LE}</th>
  *     <td>Sixteen-bit UCS Transformation Format,
  *         little-endian byte&nbsp;order</td></tr>
- * <tr><td style="vertical-align:top">{@code UTF-16}</td>
+ * <tr><th scope="row" style="vertical-align:top">{@code UTF-16}</th>
  *     <td>Sixteen-bit UCS Transformation Format,
  *         byte&nbsp;order identified by an optional byte-order mark</td></tr>
  * </tbody>
--- a/jdk/src/java.base/share/classes/java/nio/file/Files.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/file/Files.java	Wed Jul 12 12:48:01 2017 -0700
@@ -236,11 +236,11 @@
      * <table class="striped">
      * <caption style="display:none">Options</caption>
      * <thead>
-     * <tr> <th>Option</th> <th>Description</th> </tr>
+     * <tr> <th scope="col">Option</th> <th scope="col">Description</th> </tr>
      * </thead>
      * <tbody>
      * <tr>
-     *   <td> {@link StandardOpenOption#APPEND APPEND} </td>
+     *   <th scope="row"> {@link StandardOpenOption#APPEND APPEND} </th>
      *   <td> If this option is present then the file is opened for writing and
      *     each invocation of the channel's {@code write} method first advances
      *     the position to the end of the file and then writes the requested
@@ -250,13 +250,13 @@
      *     with the {@code READ} or {@code TRUNCATE_EXISTING} options. </td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardOpenOption#TRUNCATE_EXISTING TRUNCATE_EXISTING} </td>
+     *   <th scope="row"> {@link StandardOpenOption#TRUNCATE_EXISTING TRUNCATE_EXISTING} </th>
      *   <td> If this option is present then the existing file is truncated to
      *   a size of 0 bytes. This option is ignored when the file is opened only
      *   for reading. </td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardOpenOption#CREATE_NEW CREATE_NEW} </td>
+     *   <th scope="row"> {@link StandardOpenOption#CREATE_NEW CREATE_NEW} </th>
      *   <td> If this option is present then a new file is created, failing if
      *   the file already exists or is a symbolic link. When creating a file the
      *   check for the existence of the file and the creation of the file if it
@@ -264,14 +264,14 @@
      *   This option is ignored when the file is opened only for reading. </td>
      * </tr>
      * <tr>
-     *   <td > {@link StandardOpenOption#CREATE CREATE} </td>
+     *   <th scope="row" > {@link StandardOpenOption#CREATE CREATE} </th>
      *   <td> If this option is present then an existing file is opened if it
      *   exists, otherwise a new file is created. This option is ignored if the
      *   {@code CREATE_NEW} option is also present or the file is opened only
      *   for reading. </td>
      * </tr>
      * <tr>
-     *   <td > {@link StandardOpenOption#DELETE_ON_CLOSE DELETE_ON_CLOSE} </td>
+     *   <th scope="row" > {@link StandardOpenOption#DELETE_ON_CLOSE DELETE_ON_CLOSE} </th>
      *   <td> When this option is present then the implementation makes a
      *   <em>best effort</em> attempt to delete the file when closed by the
      *   {@link SeekableByteChannel#close close} method. If the {@code close}
@@ -279,20 +279,20 @@
      *   delete the file when the Java virtual machine terminates. </td>
      * </tr>
      * <tr>
-     *   <td>{@link StandardOpenOption#SPARSE SPARSE} </td>
+     *   <th scope="row">{@link StandardOpenOption#SPARSE SPARSE} </th>
      *   <td> When creating a new file this option is a <em>hint</em> that the
      *   new file will be sparse. This option is ignored when not creating
      *   a new file. </td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardOpenOption#SYNC SYNC} </td>
+     *   <th scope="row"> {@link StandardOpenOption#SYNC SYNC} </th>
      *   <td> Requires that every update to the file's content or metadata be
      *   written synchronously to the underlying storage device. (see <a
      *   href="package-summary.html#integrity"> Synchronized I/O file
      *   integrity</a>). </td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardOpenOption#DSYNC DSYNC} </td>
+     *   <th scope="row"> {@link StandardOpenOption#DSYNC DSYNC} </th>
      *   <td> Requires that every update to the file's content be written
      *   synchronously to the underlying storage device. (see <a
      *   href="package-summary.html#integrity"> Synchronized I/O file
@@ -1196,18 +1196,18 @@
      * <table class="striped">
      * <caption style="display:none">Options</caption>
      * <thead>
-     * <tr> <th>Option</th> <th>Description</th> </tr>
+     * <tr> <th scope="col">Option</th> <th scope="col">Description</th> </tr>
      * </thead>
      * <tbody>
      * <tr>
-     *   <td> {@link StandardCopyOption#REPLACE_EXISTING REPLACE_EXISTING} </td>
+     *   <th scope="row"> {@link StandardCopyOption#REPLACE_EXISTING REPLACE_EXISTING} </th>
      *   <td> If the target file exists, then the target file is replaced if it
      *     is not a non-empty directory. If the target file exists and is a
      *     symbolic link, then the symbolic link itself, not the target of
      *     the link, is replaced. </td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardCopyOption#COPY_ATTRIBUTES COPY_ATTRIBUTES} </td>
+     *   <th scope="row"> {@link StandardCopyOption#COPY_ATTRIBUTES COPY_ATTRIBUTES} </th>
      *   <td> Attempts to copy the file attributes associated with this file to
      *     the target file. The exact file attributes that are copied is platform
      *     and file system dependent and therefore unspecified. Minimally, the
@@ -1217,7 +1217,7 @@
      *     loss. </td>
      * </tr>
      * <tr>
-     *   <td> {@link LinkOption#NOFOLLOW_LINKS NOFOLLOW_LINKS} </td>
+     *   <th scope="row"> {@link LinkOption#NOFOLLOW_LINKS NOFOLLOW_LINKS} </th>
      *   <td> Symbolic links are not followed. If the file is a symbolic link,
      *     then the symbolic link itself, not the target of the link, is copied.
      *     It is implementation specific if file attributes can be copied to the
@@ -1319,18 +1319,18 @@
      * <table class="striped">
      * <caption style="display:none">Options</caption>
      * <thead>
-     * <tr> <th>Option</th> <th>Description</th> </tr>
+     * <tr> <th scope="col">Option</th> <th scope="col">Description</th> </tr>
      * </thead>
      * <tbody>
      * <tr>
-     *   <td> {@link StandardCopyOption#REPLACE_EXISTING REPLACE_EXISTING} </td>
+     *   <th scope="row"> {@link StandardCopyOption#REPLACE_EXISTING REPLACE_EXISTING} </th>
      *   <td> If the target file exists, then the target file is replaced if it
      *     is not a non-empty directory. If the target file exists and is a
      *     symbolic link, then the symbolic link itself, not the target of
      *     the link, is replaced. </td>
      * </tr>
      * <tr>
-     *   <td> {@link StandardCopyOption#ATOMIC_MOVE ATOMIC_MOVE} </td>
+     *   <th scope="row"> {@link StandardCopyOption#ATOMIC_MOVE ATOMIC_MOVE} </th>
      *   <td> The move is performed as an atomic file system operation and all
      *     other options are ignored. If the target file exists then it is
      *     implementation specific if the existing file is replaced or this method
--- a/jdk/src/java.base/share/classes/java/nio/file/LinkPermission.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/file/LinkPermission.java	Wed Jul 12 12:48:01 2017 -0700
@@ -37,14 +37,14 @@
  * <caption style="display:none">Table shows permission target name, what the permission allows, and associated risks</caption>
  * <thead>
  * <tr>
- * <th>Permission Target Name</th>
- * <th>What the Permission Allows</th>
- * <th>Risks of Allowing this Permission</th>
+ * <th scope="col">Permission Target Name</th>
+ * <th scope="col">What the Permission Allows</th>
+ * <th scope="col">Risks of Allowing this Permission</th>
  * </tr>
  * </thead>
  * <tbody>
  * <tr>
- *   <td>hard</td>
+ *   <th scope="row">hard</th>
  *   <td> Ability to add an existing file to a directory. This is sometimes
  *   known as creating a link, or hard link. </td>
  *   <td> Extreme care should be taken when granting this permission. It allows
@@ -52,7 +52,7 @@
  *   attacker access to all files. </td>
  * </tr>
  * <tr>
- *   <td>symbolic</td>
+ *   <th scope="row">symbolic</th>
  *   <td> Ability to create symbolic links. </td>
  *   <td> Extreme care should be taken when granting this permission. It allows
  *   linking to any file or directory in the file system thus allowing the
--- a/jdk/src/java.base/share/classes/java/nio/file/attribute/AclFileAttributeView.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/file/attribute/AclFileAttributeView.java	Wed Jul 12 12:48:01 2017 -0700
@@ -98,17 +98,17 @@
  * <caption style="display:none">Supported attributes</caption>
  * <thead>
  *   <tr>
- *     <th> Name </th>
- *     <th> Type </th>
+ *     <th scope="col"> Name </th>
+ *     <th scope="col"> Type </th>
  *   </tr>
  * </thead>
  * <tbody>
  *   <tr>
- *     <td> "acl" </td>
+ *     <th scope="row"> "acl" </th>
  *     <td> {@link List}&lt;{@link AclEntry}&gt; </td>
  *   </tr>
  *   <tr>
- *     <td> "owner" </td>
+ *     <th scope="row"> "owner" </th>
  *     <td> {@link UserPrincipal} </td>
  *   </tr>
  * </tbody>
--- a/jdk/src/java.base/share/classes/java/nio/file/attribute/BasicFileAttributeView.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/file/attribute/BasicFileAttributeView.java	Wed Jul 12 12:48:01 2017 -0700
@@ -45,45 +45,45 @@
  *  <caption style="display:none">Supported attributes</caption>
  *  <thead>
  *   <tr>
- *     <th> Name </th>
- *     <th> Type </th>
+ *     <th scope="col"> Name </th>
+ *     <th scope="col"> Type </th>
  *   </tr>
  *  </thead>
  *  <tbody>
  *  <tr>
- *     <td> "lastModifiedTime" </td>
+ *     <th scope="row"> "lastModifiedTime" </th>
  *     <td> {@link FileTime} </td>
  *   </tr>
  *   <tr>
- *     <td> "lastAccessTime" </td>
+ *     <th scope="row"> "lastAccessTime" </th>
  *     <td> {@link FileTime} </td>
  *   </tr>
  *   <tr>
- *     <td> "creationTime" </td>
+ *     <th scope="row"> "creationTime" </th>
  *     <td> {@link FileTime} </td>
  *   </tr>
  *   <tr>
- *     <td> "size" </td>
+ *     <th scope="row"> "size" </th>
  *     <td> {@link Long} </td>
  *   </tr>
  *   <tr>
- *     <td> "isRegularFile" </td>
+ *     <th scope="row"> "isRegularFile" </th>
  *     <td> {@link Boolean} </td>
  *   </tr>
  *   <tr>
- *     <td> "isDirectory" </td>
+ *     <th scope="row"> "isDirectory" </th>
  *     <td> {@link Boolean} </td>
  *   </tr>
  *   <tr>
- *     <td> "isSymbolicLink" </td>
+ *     <th scope="row"> "isSymbolicLink" </th>
  *     <td> {@link Boolean} </td>
  *   </tr>
  *   <tr>
- *     <td> "isOther" </td>
+ *     <th scope="row"> "isOther" </th>
  *     <td> {@link Boolean} </td>
  *   </tr>
  *   <tr>
- *     <td> "fileKey" </td>
+ *     <th scope="row"> "fileKey" </th>
  *     <td> {@link Object} </td>
  *   </tr>
  * </tbody>
--- a/jdk/src/java.base/share/classes/java/nio/file/attribute/DosFileAttributeView.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/file/attribute/DosFileAttributeView.java	Wed Jul 12 12:48:01 2017 -0700
@@ -45,25 +45,25 @@
  * <caption style="display:none">Supported attributes</caption>
  * <thead>
  *   <tr>
- *     <th> Name </th>
- *     <th> Type </th>
+ *     <th scope="col"> Name </th>
+ *     <th scope="col"> Type </th>
  *   </tr>
  * </thead>
  * <tbody>
  *   <tr>
- *     <td> readonly </td>
+ *     <th scope="row"> readonly </th>
  *     <td> {@link Boolean} </td>
  *   </tr>
  *   <tr>
- *     <td> hidden </td>
+ *     <th scope="row"> hidden </th>
  *     <td> {@link Boolean} </td>
  *   </tr>
  *   <tr>
- *     <td> system </td>
+ *     <th scope="row"> system </th>
  *     <td> {@link Boolean} </td>
  *   </tr>
  *   <tr>
- *     <td> archive </td>
+ *     <th scope="row"> archive </th>
  *     <td> {@link Boolean} </td>
  *   </tr>
  * </tbody>
--- a/jdk/src/java.base/share/classes/java/nio/file/attribute/PosixFileAttributeView.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/file/attribute/PosixFileAttributeView.java	Wed Jul 12 12:48:01 2017 -0700
@@ -78,17 +78,17 @@
  * <caption style="display:none">Supported attributes</caption>
  * <thead>
  *   <tr>
- *     <th> Name </th>
- *     <th> Type </th>
+ *     <th scope="col"> Name </th>
+ *     <th scope="col"> Type </th>
  *   </tr>
  * </thead>
  * <tbody>
  *  <tr>
- *     <td> "permissions" </td>
+ *     <th scope="row"> "permissions" </th>
  *     <td> {@link Set}&lt;{@link PosixFilePermission}&gt; </td>
  *   </tr>
  *   <tr>
- *     <td> "group" </td>
+ *     <th scope="row"> "group" </th>
  *     <td> {@link GroupPrincipal} </td>
  *   </tr>
  * </tbody>
--- a/jdk/src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/nio/file/spi/FileSystemProvider.java	Wed Jul 12 12:48:01 2017 -0700
@@ -922,21 +922,21 @@
      * <table class="striped">
      * <caption style="display:none">Access Modes</caption>
      * <thead>
-     * <tr> <th>Value</th> <th>Description</th> </tr>
+     * <tr> <th scope="col">Value</th> <th scope="col">Description</th> </tr>
      * </thead>
      * <tbody>
      * <tr>
-     *   <td> {@link AccessMode#READ READ} </td>
+     *   <th scope="row"> {@link AccessMode#READ READ} </th>
      *   <td> Checks that the file exists and that the Java virtual machine has
      *     permission to read the file. </td>
      * </tr>
      * <tr>
-     *   <td> {@link AccessMode#WRITE WRITE} </td>
+     *   <th scope="row"> {@link AccessMode#WRITE WRITE} </th>
      *   <td> Checks that the file exists and that the Java virtual machine has
      *     permission to write to the file, </td>
      * </tr>
      * <tr>
-     *   <td> {@link AccessMode#EXECUTE EXECUTE} </td>
+     *   <th scope="row"> {@link AccessMode#EXECUTE EXECUTE} </th>
      *   <td> Checks that the file exists and that the Java virtual machine has
      *     permission to {@link Runtime#exec execute} the file. The semantics
      *     may differ when checking access to a directory. For example, on UNIX
--- a/jdk/src/java.base/share/classes/java/security/SecurityPermission.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/security/SecurityPermission.java	Wed Jul 12 12:48:01 2017 -0700
@@ -49,15 +49,15 @@
  * <caption style="display:none">target name, what the permission allows, and associated risks</caption>
  * <thead>
  * <tr>
- * <th>Permission Target Name</th>
- * <th>What the Permission Allows</th>
- * <th>Risks of Allowing this Permission</th>
+ * <th scope="col">Permission Target Name</th>
+ * <th scope="col">What the Permission Allows</th>
+ * <th scope="col">Risks of Allowing this Permission</th>
  * </tr>
  * </thead>
  * <tbody>
  *
  * <tr>
- *   <td>authProvider.{provider name}</td>
+ *   <th scope="row">authProvider.{provider name}</th>
  *   <td>Allow the named provider to be an AuthProvider for login and
  * logout operations. </td>
  *   <td>This allows the named provider to perform login and logout
@@ -68,7 +68,7 @@
  * </tr>
  *
  * <tr>
- *   <td>createAccessControlContext</td>
+ *   <th scope="row">createAccessControlContext</th>
  *   <td>Creation of an AccessControlContext</td>
  *   <td>This allows someone to instantiate an AccessControlContext
  * with a {@code DomainCombiner}.  Extreme care must be taken when
@@ -78,7 +78,7 @@
  * </tr>
  *
  * <tr>
- *   <td>getDomainCombiner</td>
+ *   <th scope="row">getDomainCombiner</th>
  *   <td>Retrieval of an AccessControlContext's DomainCombiner</td>
  *   <td>This allows someone to retrieve an AccessControlContext's
  * {@code DomainCombiner}.  Since DomainCombiners may contain
@@ -86,7 +86,7 @@
  * </tr>
  *
  * <tr>
- *   <td>getPolicy</td>
+ *   <th scope="row">getPolicy</th>
  *   <td>Retrieval of the system-wide security policy (specifically, of the
  * currently-installed Policy object)</td>
  *   <td>This allows someone to query the policy via the
@@ -99,7 +99,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setPolicy</td>
+ *   <th scope="row">setPolicy</th>
  *   <td>Setting of the system-wide security policy (specifically,
  * the Policy object)</td>
  *   <td>Granting this permission is extremely dangerous, as malicious
@@ -108,7 +108,7 @@
  * </tr>
  *
  * <tr>
- *   <td>createPolicy.{policy type}</td>
+ *   <th scope="row">createPolicy.{policy type}</th>
  *   <td>Getting an instance of a Policy implementation from a provider</td>
  *   <td>Granting this permission enables code to obtain a Policy object.
  * Malicious code may query the Policy object to determine what permissions
@@ -116,7 +116,7 @@
  * </tr>
  *
  * <tr>
- *   <td>getProperty.{key}</td>
+ *   <th scope="row">getProperty.{key}</th>
  *   <td>Retrieval of the security property with the specified key</td>
  *   <td>Depending on the particular key for which access has
  * been granted, the code may have access to the list of security
@@ -129,7 +129,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setProperty.{key}</td>
+ *   <th scope="row">setProperty.{key}</th>
  *   <td>Setting of the security property with the specified key</td>
  *   <td>This could include setting a security provider or defining
  * the location of the system-wide security policy.  Malicious
@@ -144,7 +144,7 @@
  * </tr>
  *
  * <tr>
- *   <td>insertProvider</td>
+ *   <th scope="row">insertProvider</th>
  *   <td>Addition of a new provider</td>
  *   <td>This would allow somebody to introduce a possibly
  * malicious provider (e.g., one that discloses the private keys passed
@@ -158,7 +158,7 @@
  * </tr>
  *
  * <tr>
- *   <td>removeProvider.{provider name}</td>
+ *   <th scope="row">removeProvider.{provider name}</th>
  *   <td>Removal of the specified provider</td>
  *   <td>This may change the behavior or disable execution of other
  * parts of the program. If a provider subsequently requested by the
@@ -171,7 +171,7 @@
  * </tr>
  *
  * <tr>
- *   <td>clearProviderProperties.{provider name}</td>
+ *   <th scope="row">clearProviderProperties.{provider name}</th>
  *   <td>"Clearing" of a Provider so that it no longer contains the properties
  * used to look up services implemented by the provider</td>
  *   <td>This disables the lookup of services implemented by the provider.
@@ -181,7 +181,7 @@
  * </tr>
  *
  * <tr>
- *   <td>putProviderProperty.{provider name}</td>
+ *   <th scope="row">putProviderProperty.{provider name}</th>
  *   <td>Setting of properties for the specified Provider</td>
  *   <td>The provider properties each specify the name and location
  * of a particular service implemented by the provider. By granting
@@ -190,7 +190,7 @@
  * </tr>
  *
  * <tr>
- *   <td>removeProviderProperty.{provider name}</td>
+ *   <th scope="row">removeProviderProperty.{provider name}</th>
  *   <td>Removal of properties from the specified Provider</td>
  *   <td>This disables the lookup of services implemented by the
  * provider. They are no longer accessible due to removal of the properties
@@ -213,15 +213,15 @@
  * <caption style="display:none">target name, what the permission allows, and associated risks</caption>
  * <thead>
  * <tr>
- * <th>Permission Target Name</th>
- * <th>What the Permission Allows</th>
- * <th>Risks of Allowing this Permission</th>
+ * <th scope="col">Permission Target Name</th>
+ * <th scope="col">What the Permission Allows</th>
+ * <th scope="col">Risks of Allowing this Permission</th>
  * </tr>
  * </thead>
  *
  * <tbody>
  * <tr>
- *   <td>insertProvider.{provider name}</td>
+ *   <th scope="row">insertProvider.{provider name}</th>
  *   <td>Addition of a new provider, with the specified name</td>
  *   <td>Use of this permission is discouraged from further use because it is
  * possible to circumvent the name restrictions by overriding the
@@ -238,7 +238,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setSystemScope</td>
+ *   <th scope="row">setSystemScope</th>
  *   <td>Setting of the system identity scope</td>
  *   <td>This would allow an attacker to configure the system identity scope with
  * certificates that should not be trusted, thereby granting applet or
@@ -247,7 +247,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setIdentityPublicKey</td>
+ *   <th scope="row">setIdentityPublicKey</th>
  *   <td>Setting of the public key for an Identity</td>
  *   <td>If the identity is marked as "trusted", this allows an attacker to
  * introduce a different public key (e.g., its own) that is not trusted
@@ -257,7 +257,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setIdentityInfo</td>
+ *   <th scope="row">setIdentityInfo</th>
  *   <td>Setting of a general information string for an Identity</td>
  *   <td>This allows attackers to set the general description for
  * an identity.  This may trick applications into using a different
@@ -266,7 +266,7 @@
  * </tr>
  *
  * <tr>
- *   <td>addIdentityCertificate</td>
+ *   <th scope="row">addIdentityCertificate</th>
  *   <td>Addition of a certificate for an Identity</td>
  *   <td>This allows attackers to set a certificate for
  * an identity's public key.  This is dangerous because it affects
@@ -275,7 +275,7 @@
  * </tr>
  *
  * <tr>
- *   <td>removeIdentityCertificate</td>
+ *   <th scope="row">removeIdentityCertificate</th>
  *   <td>Removal of a certificate for an Identity</td>
  *   <td>This allows attackers to remove a certificate for
  * an identity's public key. This is dangerous because it affects
@@ -284,7 +284,7 @@
  * </tr>
  *
  * <tr>
- *  <td>printIdentity</td>
+ *  <th scope="row">printIdentity</th>
  *  <td>Viewing the name of a principal
  * and optionally the scope in which it is used, and whether
  * or not it is considered "trusted" in that scope</td>
@@ -296,7 +296,7 @@
  *</tr>
  *
  * <tr>
- *   <td>getSignerPrivateKey</td>
+ *   <th scope="row">getSignerPrivateKey</th>
  *   <td>Retrieval of a Signer's private key</td>
  *   <td>It is very dangerous to allow access to a private key; private
  * keys are supposed to be kept secret. Otherwise, code can use the
@@ -305,7 +305,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setSignerKeyPair</td>
+ *   <th scope="row">setSignerKeyPair</th>
  *   <td>Setting of the key pair (public key and private key) for a Signer</td>
  *   <td>This would allow an attacker to replace somebody else's (the "target's")
  * keypair with a possibly weaker keypair (e.g., a keypair of a smaller
--- a/jdk/src/java.base/share/classes/java/text/DecimalFormat.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/text/DecimalFormat.java	Wed Jul 12 12:48:01 2017 -0700
@@ -176,60 +176,60 @@
  * <caption style="display:none">Chart showing symbol, location, localized, and meaning.</caption>
  * <thead>
  *     <tr>
- *          <th style="text-align:left">Symbol
- *          <th style="text-align:left">Location
- *          <th style="text-align:left">Localized?
- *          <th style="text-align:left">Meaning
+ *          <th scope="col" style="text-align:left">Symbol
+ *          <th scope="col" style="text-align:left">Location
+ *          <th scope="col" style="text-align:left">Localized?
+ *          <th scope="col" style="text-align:left">Meaning
  * </thead>
  * <tbody>
  *     <tr style="vertical-align:top">
- *          <td><code>0</code>
+ *          <th scope="row"><code>0</code>
  *          <td>Number
  *          <td>Yes
  *          <td>Digit
  *     <tr style="vertical-align: top">
- *          <td><code>#</code>
+ *          <th scope="row"><code>#</code>
  *          <td>Number
  *          <td>Yes
  *          <td>Digit, zero shows as absent
  *     <tr style="vertical-align:top">
- *          <td><code>.</code>
+ *          <th scope="row"><code>.</code>
  *          <td>Number
  *          <td>Yes
  *          <td>Decimal separator or monetary decimal separator
  *     <tr style="vertical-align: top">
- *          <td><code>-</code>
+ *          <th scope="row"><code>-</code>
  *          <td>Number
  *          <td>Yes
  *          <td>Minus sign
  *     <tr style="vertical-align:top">
- *          <td><code>,</code>
+ *          <th scope="row"><code>,</code>
  *          <td>Number
  *          <td>Yes
  *          <td>Grouping separator
  *     <tr style="vertical-align: top">
- *          <td><code>E</code>
+ *          <th scope="row"><code>E</code>
  *          <td>Number
  *          <td>Yes
  *          <td>Separates mantissa and exponent in scientific notation.
  *              <em>Need not be quoted in prefix or suffix.</em>
  *     <tr style="vertical-align:top">
- *          <td><code>;</code>
+ *          <th scope="row"><code>;</code>
  *          <td>Subpattern boundary
  *          <td>Yes
  *          <td>Separates positive and negative subpatterns
  *     <tr style="vertical-align: top">
- *          <td><code>%</code>
+ *          <th scope="row"><code>%</code>
  *          <td>Prefix or suffix
  *          <td>Yes
  *          <td>Multiply by 100 and show as percentage
  *     <tr style="vertical-align:top">
- *          <td><code>&#92;u2030</code>
+ *          <th scope="row"><code>&#92;u2030</code>
  *          <td>Prefix or suffix
  *          <td>Yes
  *          <td>Multiply by 1000 and show as per mille value
  *     <tr style="vertical-align: top">
- *          <td><code>&#164;</code> (<code>&#92;u00A4</code>)
+ *          <th scope="row"><code>&#164;</code> (<code>&#92;u00A4</code>)
  *          <td>Prefix or suffix
  *          <td>No
  *          <td>Currency sign, replaced by currency symbol.  If
@@ -237,7 +237,7 @@
  *              If present in a pattern, the monetary decimal separator
  *              is used instead of the decimal separator.
  *     <tr style="vertical-align:top">
- *          <td><code>'</code>
+ *          <th scope="row"><code>'</code>
  *          <td>Prefix or suffix
  *          <td>No
  *          <td>Used to quote special characters in a prefix or suffix,
--- a/jdk/src/java.base/share/classes/java/text/SimpleDateFormat.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/text/SimpleDateFormat.java	Wed Jul 12 12:48:01 2017 -0700
@@ -96,124 +96,124 @@
  * <caption style="display:none">Chart shows pattern letters, date/time component, presentation, and examples.</caption>
  * <thead>
  *     <tr>
- *         <th style="text-align:left">Letter
- *         <th style="text-align:left">Date or Time Component
- *         <th style="text-align:left">Presentation
- *         <th style="text-align:left">Examples
+ *         <th scope="col" style="text-align:left">Letter
+ *         <th scope="col" style="text-align:left">Date or Time Component
+ *         <th scope="col" style="text-align:left">Presentation
+ *         <th scope="col" style="text-align:left">Examples
  * </thead>
  * <tbody>
  *     <tr>
- *         <td><code>G</code>
+ *         <th scope="row"><code>G</code>
  *         <td>Era designator
  *         <td><a href="#text">Text</a>
  *         <td><code>AD</code>
  *     <tr>
- *         <td><code>y</code>
+ *         <th scope="row"><code>y</code>
  *         <td>Year
  *         <td><a href="#year">Year</a>
  *         <td><code>1996</code>; <code>96</code>
  *     <tr>
- *         <td><code>Y</code>
+ *         <th scope="row"><code>Y</code>
  *         <td>Week year
  *         <td><a href="#year">Year</a>
  *         <td><code>2009</code>; <code>09</code>
  *     <tr>
- *         <td><code>M</code>
+ *         <th scope="row"><code>M</code>
  *         <td>Month in year (context sensitive)
  *         <td><a href="#month">Month</a>
  *         <td><code>July</code>; <code>Jul</code>; <code>07</code>
  *     <tr>
- *         <td><code>L</code>
+ *         <th scope="row"><code>L</code>
  *         <td>Month in year (standalone form)
  *         <td><a href="#month">Month</a>
  *         <td><code>July</code>; <code>Jul</code>; <code>07</code>
  *     <tr>
- *         <td><code>w</code>
+ *         <th scope="row"><code>w</code>
  *         <td>Week in year
  *         <td><a href="#number">Number</a>
  *         <td><code>27</code>
  *     <tr>
- *         <td><code>W</code>
+ *         <th scope="row"><code>W</code>
  *         <td>Week in month
  *         <td><a href="#number">Number</a>
  *         <td><code>2</code>
  *     <tr>
- *         <td><code>D</code>
+ *         <th scope="row"><code>D</code>
  *         <td>Day in year
  *         <td><a href="#number">Number</a>
  *         <td><code>189</code>
  *     <tr>
- *         <td><code>d</code>
+ *         <th scope="row"><code>d</code>
  *         <td>Day in month
  *         <td><a href="#number">Number</a>
  *         <td><code>10</code>
  *     <tr>
- *         <td><code>F</code>
+ *         <th scope="row"><code>F</code>
  *         <td>Day of week in month
  *         <td><a href="#number">Number</a>
  *         <td><code>2</code>
  *     <tr>
- *         <td><code>E</code>
+ *         <th scope="row"><code>E</code>
  *         <td>Day name in week
  *         <td><a href="#text">Text</a>
  *         <td><code>Tuesday</code>; <code>Tue</code>
  *     <tr>
- *         <td><code>u</code>
+ *         <th scope="row"><code>u</code>
  *         <td>Day number of week (1 = Monday, ..., 7 = Sunday)
  *         <td><a href="#number">Number</a>
  *         <td><code>1</code>
  *     <tr>
- *         <td><code>a</code>
+ *         <th scope="row"><code>a</code>
  *         <td>Am/pm marker
  *         <td><a href="#text">Text</a>
  *         <td><code>PM</code>
  *     <tr>
- *         <td><code>H</code>
+ *         <th scope="row"><code>H</code>
  *         <td>Hour in day (0-23)
  *         <td><a href="#number">Number</a>
  *         <td><code>0</code>
  *     <tr>
- *         <td><code>k</code>
+ *         <th scope="row"><code>k</code>
  *         <td>Hour in day (1-24)
  *         <td><a href="#number">Number</a>
  *         <td><code>24</code>
  *     <tr>
- *         <td><code>K</code>
+ *         <th scope="row"><code>K</code>
  *         <td>Hour in am/pm (0-11)
  *         <td><a href="#number">Number</a>
  *         <td><code>0</code>
  *     <tr>
- *         <td><code>h</code>
+ *         <th scope="row"><code>h</code>
  *         <td>Hour in am/pm (1-12)
  *         <td><a href="#number">Number</a>
  *         <td><code>12</code>
  *     <tr>
- *         <td><code>m</code>
+ *         <th scope="row"><code>m</code>
  *         <td>Minute in hour
  *         <td><a href="#number">Number</a>
  *         <td><code>30</code>
  *     <tr>
- *         <td><code>s</code>
+ *         <th scope="row"><code>s</code>
  *         <td>Second in minute
  *         <td><a href="#number">Number</a>
  *         <td><code>55</code>
  *     <tr>
- *         <td><code>S</code>
+ *         <th scope="row"><code>S</code>
  *         <td>Millisecond
  *         <td><a href="#number">Number</a>
  *         <td><code>978</code>
  *     <tr>
- *         <td><code>z</code>
+ *         <th scope="row"><code>z</code>
  *         <td>Time zone
  *         <td><a href="#timezone">General time zone</a>
  *         <td><code>Pacific Standard Time</code>; <code>PST</code>; <code>GMT-08:00</code>
  *     <tr>
- *         <td><code>Z</code>
+ *         <th scope="row"><code>Z</code>
  *         <td>Time zone
  *         <td><a href="#rfc822timezone">RFC 822 time zone</a>
  *         <td><code>-0800</code>
  *     <tr>
- *         <td><code>X</code>
+ *         <th scope="row"><code>X</code>
  *         <td>Time zone
  *         <td><a href="#iso8601timezone">ISO 8601 time zone</a>
  *         <td><code>-08</code>; <code>-0800</code>;  <code>-08:00</code>
@@ -379,42 +379,42 @@
  * <caption style="display:none">Examples of date and time patterns interpreted in the U.S. locale</caption>
  * <thead>
  *     <tr>
- *         <th style="text-align:left">Date and Time Pattern
- *         <th style="text-align:left">Result
+ *         <th scope="col" style="text-align:left">Date and Time Pattern
+ *         <th scope="col" style="text-align:left">Result
  * </thead>
  * <tbody>
  *     <tr>
- *         <td><code>"yyyy.MM.dd G 'at' HH:mm:ss z"</code>
+ *         <th scope="row"><code>"yyyy.MM.dd G 'at' HH:mm:ss z"</code>
  *         <td><code>2001.07.04 AD at 12:08:56 PDT</code>
  *     <tr>
- *         <td><code>"EEE, MMM d, ''yy"</code>
+ *         <th scope="row"><code>"EEE, MMM d, ''yy"</code>
  *         <td><code>Wed, Jul 4, '01</code>
  *     <tr>
- *         <td><code>"h:mm a"</code>
+ *         <th scope="row"><code>"h:mm a"</code>
  *         <td><code>12:08 PM</code>
  *     <tr>
- *         <td><code>"hh 'o''clock' a, zzzz"</code>
+ *         <th scope="row"><code>"hh 'o''clock' a, zzzz"</code>
  *         <td><code>12 o'clock PM, Pacific Daylight Time</code>
  *     <tr>
- *         <td><code>"K:mm a, z"</code>
+ *         <th scope="row"><code>"K:mm a, z"</code>
  *         <td><code>0:08 PM, PDT</code>
  *     <tr>
- *         <td><code>"yyyyy.MMMMM.dd GGG hh:mm aaa"</code>
+ *         <th scope="row"><code>"yyyyy.MMMMM.dd GGG hh:mm aaa"</code>
  *         <td><code>02001.July.04 AD 12:08 PM</code>
  *     <tr>
- *         <td><code>"EEE, d MMM yyyy HH:mm:ss Z"</code>
+ *         <th scope="row"><code>"EEE, d MMM yyyy HH:mm:ss Z"</code>
  *         <td><code>Wed, 4 Jul 2001 12:08:56 -0700</code>
  *     <tr>
- *         <td><code>"yyMMddHHmmssZ"</code>
+ *         <th scope="row"><code>"yyMMddHHmmssZ"</code>
  *         <td><code>010704120856-0700</code>
  *     <tr>
- *         <td><code>"yyyy-MM-dd'T'HH:mm:ss.SSSZ"</code>
+ *         <th scope="row"><code>"yyyy-MM-dd'T'HH:mm:ss.SSSZ"</code>
  *         <td><code>2001-07-04T12:08:56.235-0700</code>
  *     <tr>
- *         <td><code>"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"</code>
+ *         <th scope="row"><code>"yyyy-MM-dd'T'HH:mm:ss.SSSXXX"</code>
  *         <td><code>2001-07-04T12:08:56.235-07:00</code>
  *     <tr>
- *         <td><code>"YYYY-'W'ww-u"</code>
+ *         <th scope="row"><code>"YYYY-'W'ww-u"</code>
  *         <td><code>2001-W27-3</code>
  * </tbody>
  * </table>
--- a/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/time/format/DateTimeFormatter.java	Wed Jul 12 12:48:01 2017 -0700
@@ -154,103 +154,103 @@
  * <caption>Predefined Formatters</caption>
  * <thead>
  * <tr>
- * <th style="text-align:left">Formatter</th>
- * <th style="text-align:left">Description</th>
- * <th style="text-align:left">Example</th>
+ * <th scope="col" style="text-align:left">Formatter</th>
+ * <th scope="col" style="text-align:left">Description</th>
+ * <th scope="col" style="text-align:left">Example</th>
  * </tr>
  * </thead>
  * <tbody>
  * <tr>
- * <td>{@link #ofLocalizedDate ofLocalizedDate(dateStyle)} </td>
+ * <th scope="row">{@link #ofLocalizedDate ofLocalizedDate(dateStyle)} </th>
  * <td> Formatter with date style from the locale </td>
  * <td> '2011-12-03'</td>
  * </tr>
  * <tr>
- * <td> {@link #ofLocalizedTime ofLocalizedTime(timeStyle)} </td>
+ * <th scope="row"> {@link #ofLocalizedTime ofLocalizedTime(timeStyle)} </th>
  * <td> Formatter with time style from the locale </td>
  * <td> '10:15:30'</td>
  * </tr>
  * <tr>
- * <td> {@link #ofLocalizedDateTime ofLocalizedDateTime(dateTimeStyle)} </td>
+ * <th scope="row"> {@link #ofLocalizedDateTime ofLocalizedDateTime(dateTimeStyle)} </th>
  * <td> Formatter with a style for date and time from the locale</td>
  * <td> '3 Jun 2008 11:05:30'</td>
  * </tr>
  * <tr>
- * <td> {@link #ofLocalizedDateTime ofLocalizedDateTime(dateStyle,timeStyle)}
- * </td>
+ * <th scope="row"> {@link #ofLocalizedDateTime ofLocalizedDateTime(dateStyle,timeStyle)}
+ * </th>
  * <td> Formatter with date and time styles from the locale </td>
  * <td> '3 Jun 2008 11:05'</td>
  * </tr>
  * <tr>
- * <td> {@link #BASIC_ISO_DATE}</td>
+ * <th scope="row"> {@link #BASIC_ISO_DATE}</th>
  * <td>Basic ISO date </td> <td>'20111203'</td>
  * </tr>
  * <tr>
- * <td> {@link #ISO_LOCAL_DATE}</td>
+ * <th scope="row"> {@link #ISO_LOCAL_DATE}</th>
  * <td> ISO Local Date </td>
  * <td>'2011-12-03'</td>
  * </tr>
  * <tr>
- * <td> {@link #ISO_OFFSET_DATE}</td>
+ * <th scope="row"> {@link #ISO_OFFSET_DATE}</th>
  * <td> ISO Date with offset </td>
  * <td>'2011-12-03+01:00'</td>
  * </tr>
  * <tr>
- * <td> {@link #ISO_DATE}</td>
+ * <th scope="row"> {@link #ISO_DATE}</th>
  * <td> ISO Date with or without offset </td>
  * <td> '2011-12-03+01:00'; '2011-12-03'</td>
  * </tr>
  * <tr>
- * <td> {@link #ISO_LOCAL_TIME}</td>
+ * <th scope="row"> {@link #ISO_LOCAL_TIME}</th>
  * <td> Time without offset </td>
  * <td>'10:15:30'</td>
  * </tr>
  * <tr>
- * <td> {@link #ISO_OFFSET_TIME}</td>
+ * <th scope="row"> {@link #ISO_OFFSET_TIME}</th>
  * <td> Time with offset </td>
  * <td>'10:15:30+01:00'</td>
  * </tr>
  * <tr>
- * <td> {@link #ISO_TIME}</td>
+ * <th scope="row"> {@link #ISO_TIME}</th>
  * <td> Time with or without offset </td>
  * <td>'10:15:30+01:00'; '10:15:30'</td>
  * </tr>
  * <tr>
- * <td> {@link #ISO_LOCAL_DATE_TIME}</td>
+ * <th scope="row"> {@link #ISO_LOCAL_DATE_TIME}</th>
  * <td> ISO Local Date and Time </td>
  * <td>'2011-12-03T10:15:30'</td>
  * </tr>
  * <tr>
- * <td> {@link #ISO_OFFSET_DATE_TIME}</td>
+ * <th scope="row"> {@link #ISO_OFFSET_DATE_TIME}</th>
  * <td> Date Time with Offset
  * </td><td>2011-12-03T10:15:30+01:00'</td>
  * </tr>
  * <tr>
- * <td> {@link #ISO_ZONED_DATE_TIME}</td>
+ * <th scope="row"> {@link #ISO_ZONED_DATE_TIME}</th>
  * <td> Zoned Date Time </td>
  * <td>'2011-12-03T10:15:30+01:00[Europe/Paris]'</td>
  * </tr>
  * <tr>
- * <td> {@link #ISO_DATE_TIME}</td>
+ * <th scope="row"> {@link #ISO_DATE_TIME}</th>
  * <td> Date and time with ZoneId </td>
  * <td>'2011-12-03T10:15:30+01:00[Europe/Paris]'</td>
  * </tr>
  * <tr>
- * <td> {@link #ISO_ORDINAL_DATE}</td>
+ * <th scope="row"> {@link #ISO_ORDINAL_DATE}</th>
  * <td> Year and day of year </td>
  * <td>'2012-337'</td>
  * </tr>
  * <tr>
- * <td> {@link #ISO_WEEK_DATE}</td>
+ * <th scope="row"> {@link #ISO_WEEK_DATE}</th>
  * <td> Year and Week </td>
  * <td>2012-W48-6'</td></tr>
  * <tr>
- * <td> {@link #ISO_INSTANT}</td>
+ * <th scope="row"> {@link #ISO_INSTANT}</th>
  * <td> Date and Time of an Instant </td>
  * <td>'2011-12-03T10:15:30Z' </td>
  * </tr>
  * <tr>
- * <td> {@link #RFC_1123_DATE_TIME}</td>
+ * <th scope="row"> {@link #RFC_1123_DATE_TIME}</th>
  * <td> RFC 1123 / RFC 822 </td>
  * <td>'Tue, 3 Jun 2008 11:05:30 GMT'</td>
  * </tr>
--- a/jdk/src/java.base/share/classes/java/util/Formatter.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/util/Formatter.java	Wed Jul 12 12:48:01 2017 -0700
@@ -293,12 +293,12 @@
  * <table class="striped">
  * <caption style="display:none">genConv</caption>
  * <thead>
- * <tr><th style="vertical-align:bottom"> Conversion
- *     <th style="vertical-align:bottom"> Argument Category
- *     <th style="vertical-align:bottom"> Description
+ * <tr><th scope="col" style="vertical-align:bottom"> Conversion
+ *     <th scope="col" style="vertical-align:bottom"> Argument Category
+ *     <th scope="col" style="vertical-align:bottom"> Description
  * </thead>
  * <tbody>
- * <tr><td style="vertical-align:top"> {@code 'b'}, {@code 'B'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'b'}, {@code 'B'}
  *     <td style="vertical-align:top"> general
  *     <td> If the argument <i>arg</i> is {@code null}, then the result is
  *     "{@code false}".  If <i>arg</i> is a {@code boolean} or {@link
@@ -306,64 +306,64 @@
  *     String#valueOf(boolean) String.valueOf(arg)}.  Otherwise, the result is
  *     "true".
  *
- * <tr><td style="vertical-align:top"> {@code 'h'}, {@code 'H'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'h'}, {@code 'H'}
  *     <td style="vertical-align:top"> general
  *     <td> The result is obtained by invoking
  *     {@code Integer.toHexString(arg.hashCode())}.
  *
- * <tr><td style="vertical-align:top"> {@code 's'}, {@code 'S'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 's'}, {@code 'S'}
  *     <td style="vertical-align:top"> general
  *     <td> If <i>arg</i> implements {@link Formattable}, then
  *     {@link Formattable#formatTo arg.formatTo} is invoked. Otherwise, the
  *     result is obtained by invoking {@code arg.toString()}.
  *
- * <tr><td style="vertical-align:top">{@code 'c'}, {@code 'C'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'c'}, {@code 'C'}
  *     <td style="vertical-align:top"> character
  *     <td> The result is a Unicode character
  *
- * <tr><td style="vertical-align:top">{@code 'd'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'd'}
  *     <td style="vertical-align:top"> integral
  *     <td> The result is formatted as a decimal integer
  *
- * <tr><td style="vertical-align:top">{@code 'o'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'o'}
  *     <td style="vertical-align:top"> integral
  *     <td> The result is formatted as an octal integer
  *
- * <tr><td style="vertical-align:top">{@code 'x'}, {@code 'X'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'x'}, {@code 'X'}
  *     <td style="vertical-align:top"> integral
  *     <td> The result is formatted as a hexadecimal integer
  *
- * <tr><td style="vertical-align:top">{@code 'e'}, {@code 'E'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'e'}, {@code 'E'}
  *     <td style="vertical-align:top"> floating point
  *     <td> The result is formatted as a decimal number in computerized
  *     scientific notation
  *
- * <tr><td style="vertical-align:top">{@code 'f'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'f'}
  *     <td style="vertical-align:top"> floating point
  *     <td> The result is formatted as a decimal number
  *
- * <tr><td style="vertical-align:top">{@code 'g'}, {@code 'G'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'g'}, {@code 'G'}
  *     <td style="vertical-align:top"> floating point
  *     <td> The result is formatted using computerized scientific notation or
  *     decimal format, depending on the precision and the value after rounding.
  *
- * <tr><td style="vertical-align:top">{@code 'a'}, {@code 'A'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'a'}, {@code 'A'}
  *     <td style="vertical-align:top"> floating point
  *     <td> The result is formatted as a hexadecimal floating-point number with
  *     a significand and an exponent. This conversion is <b>not</b> supported
  *     for the {@code BigDecimal} type despite the latter's being in the
  *     <i>floating point</i> argument category.
  *
- * <tr><td style="vertical-align:top">{@code 't'}, {@code 'T'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 't'}, {@code 'T'}
  *     <td style="vertical-align:top"> date/time
  *     <td> Prefix for date and time conversion characters.  See <a
  *     href="#dt">Date/Time Conversions</a>.
  *
- * <tr><td style="vertical-align:top">{@code '%'}
+ * <tr><th scope="row" style="vertical-align:top">{@code '%'}
  *     <td style="vertical-align:top"> percent
  *     <td> The result is a literal {@code '%'} (<code>'&#92;u0025'</code>)
  *
- * <tr><td style="vertical-align:top">{@code 'n'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'n'}
  *     <td style="vertical-align:top"> line separator
  *     <td> The result is the platform-specific line separator
  *
@@ -387,44 +387,44 @@
  * <table class="striped">
  * <caption style="display:none">time</caption>
  * <tbody>
- * <tr><td style="vertical-align:top"> {@code 'H'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'H'}
  *     <td> Hour of the day for the 24-hour clock, formatted as two digits with
  *     a leading zero as necessary i.e. {@code 00 - 23}.
  *
- * <tr><td style="vertical-align:top">{@code 'I'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'I'}
  *     <td> Hour for the 12-hour clock, formatted as two digits with a leading
  *     zero as necessary, i.e.  {@code 01 - 12}.
  *
- * <tr><td style="vertical-align:top">{@code 'k'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'k'}
  *     <td> Hour of the day for the 24-hour clock, i.e. {@code 0 - 23}.
  *
- * <tr><td style="vertical-align:top">{@code 'l'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'l'}
  *     <td> Hour for the 12-hour clock, i.e. {@code 1 - 12}.
  *
- * <tr><td style="vertical-align:top">{@code 'M'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'M'}
  *     <td> Minute within the hour formatted as two digits with a leading zero
  *     as necessary, i.e.  {@code 00 - 59}.
  *
- * <tr><td style="vertical-align:top">{@code 'S'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'S'}
  *     <td> Seconds within the minute, formatted as two digits with a leading
  *     zero as necessary, i.e. {@code 00 - 60} ("{@code 60}" is a special
  *     value required to support leap seconds).
  *
- * <tr><td style="vertical-align:top">{@code 'L'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'L'}
  *     <td> Millisecond within the second formatted as three digits with
  *     leading zeros as necessary, i.e. {@code 000 - 999}.
  *
- * <tr><td style="vertical-align:top">{@code 'N'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'N'}
  *     <td> Nanosecond within the second, formatted as nine digits with leading
  *     zeros as necessary, i.e. {@code 000000000 - 999999999}.
  *
- * <tr><td style="vertical-align:top">{@code 'p'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'p'}
  *     <td> Locale-specific {@linkplain
  *     java.text.DateFormatSymbols#getAmPmStrings morning or afternoon} marker
  *     in lower case, e.g."{@code am}" or "{@code pm}". Use of the conversion
  *     prefix {@code 'T'} forces this output to upper case.
  *
- * <tr><td style="vertical-align:top">{@code 'z'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'z'}
  *     <td> <a href="http://www.ietf.org/rfc/rfc0822.txt">RFC&nbsp;822</a>
  *     style numeric time zone offset from GMT, e.g. {@code -0800}.  This
  *     value will be adjusted as necessary for Daylight Saving Time.  For
@@ -432,7 +432,7 @@
  *     the {@linkplain TimeZone#getDefault() default time zone} for this
  *     instance of the Java virtual machine.
  *
- * <tr><td style="vertical-align:top">{@code 'Z'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'Z'}
  *     <td> A string representing the abbreviation for the time zone.  This
  *     value will be adjusted as necessary for Daylight Saving Time.  For
  *     {@code long}, {@link Long}, and {@link Date} the  time zone used is
@@ -440,12 +440,12 @@
  *     instance of the Java virtual machine.  The Formatter's locale will
  *     supersede the locale of the argument (if any).
  *
- * <tr><td style="vertical-align:top">{@code 's'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 's'}
  *     <td> Seconds since the beginning of the epoch starting at 1 January 1970
  *     {@code 00:00:00} UTC, i.e. {@code Long.MIN_VALUE/1000} to
  *     {@code Long.MAX_VALUE/1000}.
  *
- * <tr><td style="vertical-align:top">{@code 'Q'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'Q'}
  *     <td> Milliseconds since the beginning of the epoch starting at 1 January
  *     1970 {@code 00:00:00} UTC, i.e. {@code Long.MIN_VALUE} to
  *     {@code Long.MAX_VALUE}.
@@ -459,54 +459,54 @@
  * <caption style="display:none">date</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top">{@code 'B'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'B'}
  *     <td> Locale-specific {@linkplain java.text.DateFormatSymbols#getMonths
  *     full month name}, e.g. {@code "January"}, {@code "February"}.
  *
- * <tr><td style="vertical-align:top">{@code 'b'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'b'}
  *     <td> Locale-specific {@linkplain
  *     java.text.DateFormatSymbols#getShortMonths abbreviated month name},
  *     e.g. {@code "Jan"}, {@code "Feb"}.
  *
- * <tr><td style="vertical-align:top">{@code 'h'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'h'}
  *     <td> Same as {@code 'b'}.
  *
- * <tr><td style="vertical-align:top">{@code 'A'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'A'}
  *     <td> Locale-specific full name of the {@linkplain
  *     java.text.DateFormatSymbols#getWeekdays day of the week},
  *     e.g. {@code "Sunday"}, {@code "Monday"}
  *
- * <tr><td style="vertical-align:top">{@code 'a'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'a'}
  *     <td> Locale-specific short name of the {@linkplain
  *     java.text.DateFormatSymbols#getShortWeekdays day of the week},
  *     e.g. {@code "Sun"}, {@code "Mon"}
  *
- * <tr><td style="vertical-align:top">{@code 'C'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'C'}
  *     <td> Four-digit year divided by {@code 100}, formatted as two digits
  *     with leading zero as necessary, i.e. {@code 00 - 99}
  *
- * <tr><td style="vertical-align:top">{@code 'Y'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'Y'}
  *     <td> Year, formatted as at least four digits with leading zeros as
  *     necessary, e.g. {@code 0092} equals {@code 92} CE for the Gregorian
  *     calendar.
  *
- * <tr><td style="vertical-align:top">{@code 'y'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'y'}
  *     <td> Last two digits of the year, formatted with leading zeros as
  *     necessary, i.e. {@code 00 - 99}.
  *
- * <tr><td style="vertical-align:top">{@code 'j'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'j'}
  *     <td> Day of year, formatted as three digits with leading zeros as
  *     necessary, e.g. {@code 001 - 366} for the Gregorian calendar.
  *
- * <tr><td style="vertical-align:top">{@code 'm'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'm'}
  *     <td> Month, formatted as two digits with leading zeros as necessary,
  *     i.e. {@code 01 - 13}.
  *
- * <tr><td style="vertical-align:top">{@code 'd'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'd'}
  *     <td> Day of month, formatted as two digits with leading zeros as
  *     necessary, i.e. {@code 01 - 31}
  *
- * <tr><td style="vertical-align:top">{@code 'e'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'e'}
  *     <td> Day of month, formatted as two digits, i.e. {@code 1 - 31}.
  *
  * </tbody>
@@ -519,25 +519,25 @@
  * <caption style="display:none">composites</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top">{@code 'R'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'R'}
  *     <td> Time formatted for the 24-hour clock as {@code "%tH:%tM"}
  *
- * <tr><td style="vertical-align:top">{@code 'T'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'T'}
  *     <td> Time formatted for the 24-hour clock as {@code "%tH:%tM:%tS"}.
  *
- * <tr><td style="vertical-align:top">{@code 'r'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'r'}
  *     <td> Time formatted for the 12-hour clock as {@code "%tI:%tM:%tS %Tp"}.
  *     The location of the morning or afternoon marker ({@code '%Tp'}) may be
  *     locale-dependent.
  *
- * <tr><td style="vertical-align:top">{@code 'D'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'D'}
  *     <td> Date formatted as {@code "%tm/%td/%ty"}.
  *
- * <tr><td style="vertical-align:top">{@code 'F'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'F'}
  *     <td> <a href="http://www.w3.org/TR/NOTE-datetime">ISO&nbsp;8601</a>
  *     complete date formatted as {@code "%tY-%tm-%td"}.
  *
- * <tr><td style="vertical-align:top">{@code 'c'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'c'}
  *     <td> Date and time formatted as {@code "%ta %tb %td %tT %tZ %tY"},
  *     e.g. {@code "Sun Jul 20 16:17:00 EDT 1969"}.
  *
@@ -555,49 +555,49 @@
  * <table class="striped">
  * <caption style="display:none">genConv</caption>
  * <thead>
- * <tr><th style="vertical-align:bottom"> Flag <th style="vertical-align:bottom"> General
- *     <th style="vertical-align:bottom"> Character <th style="vertical-align:bottom"> Integral
- *     <th style="vertical-align:bottom"> Floating Point
- *     <th style="vertical-align:bottom"> Date/Time
- *     <th style="vertical-align:bottom"> Description
+ * <tr><th scope="col" style="vertical-align:bottom"> Flag <th scope="col" style="vertical-align:bottom"> General
+ *     <th scope="col" style="vertical-align:bottom"> Character <th scope="col" style="vertical-align:bottom"> Integral
+ *     <th scope="col" style="vertical-align:bottom"> Floating Point
+ *     <th scope="col" style="vertical-align:bottom"> Date/Time
+ *     <th scope="col" style="vertical-align:bottom"> Description
  * </thead>
  * <tbody>
- * <tr><td> '-' <td style="text-align:center; vertical-align:top"> y
+ * <tr><th scope="row"> '-' <td style="text-align:center; vertical-align:top"> y
  *     <td style="text-align:center; vertical-align:top"> y
  *     <td style="text-align:center; vertical-align:top"> y
  *     <td style="text-align:center; vertical-align:top"> y
  *     <td style="text-align:center; vertical-align:top"> y
  *     <td> The result will be left-justified.
  *
- * <tr><td> '#' <td style="text-align:center; vertical-align:top"> y<sup>1</sup>
+ * <tr><th scope="row"> '#' <td style="text-align:center; vertical-align:top"> y<sup>1</sup>
  *     <td style="text-align:center; vertical-align:top"> -
  *     <td style="text-align:center; vertical-align:top"> y<sup>3</sup>
  *     <td style="text-align:center; vertical-align:top"> y
  *     <td style="text-align:center; vertical-align:top"> -
  *     <td> The result should use a conversion-dependent alternate form
  *
- * <tr><td> '+' <td style="text-align:center; vertical-align:top"> -
+ * <tr><th scope="row"> '+' <td style="text-align:center; vertical-align:top"> -
  *     <td style="text-align:center; vertical-align:top"> -
  *     <td style="text-align:center; vertical-align:top"> y<sup>4</sup>
  *     <td style="text-align:center; vertical-align:top"> y
  *     <td style="text-align:center; vertical-align:top"> -
  *     <td> The result will always include a sign
  *
- * <tr><td> '&nbsp;&nbsp;' <td style="text-align:center; vertical-align:top"> -
+ * <tr><th scope="row"> '&nbsp;&nbsp;' <td style="text-align:center; vertical-align:top"> -
  *     <td style="text-align:center; vertical-align:top"> -
  *     <td style="text-align:center; vertical-align:top"> y<sup>4</sup>
  *     <td style="text-align:center; vertical-align:top"> y
  *     <td style="text-align:center; vertical-align:top"> -
  *     <td> The result will include a leading space for positive values
  *
- * <tr><td> '0' <td style="text-align:center; vertical-align:top"> -
+ * <tr><th scope="row"> '0' <td style="text-align:center; vertical-align:top"> -
  *     <td style="text-align:center; vertical-align:top"> -
  *     <td style="text-align:center; vertical-align:top"> y
  *     <td style="text-align:center; vertical-align:top"> y
  *     <td style="text-align:center; vertical-align:top"> -
  *     <td> The result will be zero-padded
  *
- * <tr><td> ',' <td style="text-align:center; vertical-align:top"> -
+ * <tr><th scope="row"> ',' <td style="text-align:center; vertical-align:top"> -
  *     <td style="text-align:center; vertical-align:top"> -
  *     <td style="text-align:center; vertical-align:top"> y<sup>2</sup>
  *     <td style="text-align:center; vertical-align:top"> y<sup>5</sup>
@@ -605,7 +605,7 @@
  *     <td> The result will include locale-specific {@linkplain
  *     java.text.DecimalFormatSymbols#getGroupingSeparator grouping separators}
  *
- * <tr><td> '(' <td style="text-align:center; vertical-align:top"> -
+ * <tr><th scope="row"> '(' <td style="text-align:center; vertical-align:top"> -
  *     <td style="text-align:center; vertical-align:top"> -
  *     <td style="text-align:center; vertical-align:top"> y<sup>4</sup>
  *     <td style="text-align:center; vertical-align:top"> y<sup>5</sup>
@@ -723,7 +723,7 @@
  * <caption style="display:none">dgConv</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top"> {@code 'b'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'b'}
  *     <td style="vertical-align:top"> <code>'&#92;u0062'</code>
  *     <td> Produces either "{@code true}" or "{@code false}" as returned by
  *     {@link Boolean#toString(boolean)}.
@@ -737,11 +737,11 @@
  *     <p> If the {@code '#'} flag is given, then a {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'B'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'B'}
  *     <td style="vertical-align:top"> <code>'&#92;u0042'</code>
  *     <td> The upper-case variant of {@code 'b'}.
  *
- * <tr><td style="vertical-align:top"> {@code 'h'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'h'}
  *     <td style="vertical-align:top"> <code>'&#92;u0068'</code>
  *     <td> Produces a string representing the hash code value of the object.
  *
@@ -751,11 +751,11 @@
  *     <p> If the {@code '#'} flag is given, then a {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'H'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'H'}
  *     <td style="vertical-align:top"> <code>'&#92;u0048'</code>
  *     <td> The upper-case variant of {@code 'h'}.
  *
- * <tr><td style="vertical-align:top"> {@code 's'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 's'}
  *     <td style="vertical-align:top"> <code>'&#92;u0073'</code>
  *     <td> Produces a string.
  *
@@ -768,7 +768,7 @@
  *     Formattable} , then a {@link FormatFlagsConversionMismatchException}
  *     will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'S'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'S'}
  *     <td style="vertical-align:top"> <code>'&#92;u0053'</code>
  *     <td> The upper-case variant of {@code 's'}.
  *
@@ -781,7 +781,7 @@
  * <caption style="display:none">dFlags</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top"> {@code '-'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code '-'}
  *     <td style="vertical-align:top"> <code>'&#92;u002d'</code>
  *     <td> Left justifies the output.  Spaces (<code>'&#92;u0020'</code>) will be
  *     added at the end of the converted value as required to fill the minimum
@@ -789,7 +789,7 @@
  *     MissingFormatWidthException} will be thrown.  If this flag is not given
  *     then the output will be right-justified.
  *
- * <tr><td style="vertical-align:top"> {@code '#'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code '#'}
  *     <td style="vertical-align:top"> <code>'&#92;u0023'</code>
  *     <td> Requires the output use an alternate form.  The definition of the
  *     form is specified by the conversion.
@@ -825,7 +825,7 @@
  * <caption style="display:none">charConv</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top"> {@code 'c'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'c'}
  *     <td style="vertical-align:top"> <code>'&#92;u0063'</code>
  *     <td> Formats the argument as a Unicode character as described in <a
  *     href="../lang/Character.html#unicode">Unicode Character
@@ -835,7 +835,7 @@
  *     <p> If the {@code '#'} flag is given, then a {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'C'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'C'}
  *     <td style="vertical-align:top"> <code>'&#92;u0043'</code>
  *     <td> The upper-case variant of {@code 'c'}.
  *
@@ -929,7 +929,7 @@
  * <caption style="display:none">IntConv</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top"> {@code 'd'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'd'}
  *     <td style="vertical-align:top"> <code>'&#92;u0064'</code>
  *     <td> Formats the argument as a decimal integer. The <a
  *     href="#L10nAlgorithm">localization algorithm</a> is applied.
@@ -940,7 +940,7 @@
  *     <p> If the {@code '#'} flag is given then a {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'o'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'o'}
  *     <td style="vertical-align:top"> <code>'&#92;u006f'</code>
  *     <td> Formats the argument as an integer in base eight.  No localization
  *     is applied.
@@ -962,7 +962,7 @@
  *     are given then a {@link FormatFlagsConversionMismatchException} will be
  *     thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'x'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'x'}
  *     <td style="vertical-align:top"> <code>'&#92;u0078'</code>
  *     <td> Formats the argument as an integer in base sixteen. No
  *     localization is applied.
@@ -985,7 +985,7 @@
  *     {@code ','} flags are given then a {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'X'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'X'}
  *     <td style="vertical-align:top"> <code>'&#92;u0058'</code>
  *     <td> The upper-case variant of {@code 'x'}.  The entire string
  *     representing the number will be converted to {@linkplain
@@ -1012,7 +1012,7 @@
  * <caption style="display:none">intFlags</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top"> {@code '+'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code '+'}
  *     <td style="vertical-align:top"> <code>'&#92;u002b'</code>
  *     <td> Requires the output to include a positive sign for all positive
  *     numbers.  If this flag is not given then only negative values will
@@ -1021,7 +1021,7 @@
  *     <p> If both the {@code '+'} and <code>'&nbsp;&nbsp;'</code> flags are given
  *     then an {@link IllegalFormatFlagsException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> <code>'&nbsp;&nbsp;'</code>
+ * <tr><th scope="row" style="vertical-align:top"> <code>'&nbsp;&nbsp;'</code>
  *     <td style="vertical-align:top"> <code>'&#92;u0020'</code>
  *     <td> Requires the output to include a single extra space
  *     (<code>'&#92;u0020'</code>) for non-negative values.
@@ -1029,7 +1029,7 @@
  *     <p> If both the {@code '+'} and <code>'&nbsp;&nbsp;'</code> flags are given
  *     then an {@link IllegalFormatFlagsException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code '0'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code '0'}
  *     <td style="vertical-align:top"> <code>'&#92;u0030'</code>
  *     <td> Requires the output to be padded with leading {@linkplain
  *     java.text.DecimalFormatSymbols#getZeroDigit zeros} to the minimum field
@@ -1040,14 +1040,14 @@
  *     <p> If both the {@code '-'} and {@code '0'} flags are given then an
  *     {@link IllegalFormatFlagsException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code ','}
+ * <tr><th scope="row" style="vertical-align:top"> {@code ','}
  *     <td style="vertical-align:top"> <code>'&#92;u002c'</code>
  *     <td> Requires the output to include the locale-specific {@linkplain
  *     java.text.DecimalFormatSymbols#getGroupingSeparator group separators} as
  *     described in the <a href="#L10nGroup">"group" section</a> of the
  *     localization algorithm.
  *
- * <tr><td style="vertical-align:top"> {@code '('}
+ * <tr><th scope="row" style="vertical-align:top"> {@code '('}
  *     <td style="vertical-align:top"> <code>'&#92;u0028'</code>
  *     <td> Requires the output to prepend a {@code '('}
  *     (<code>'&#92;u0028'</code>) and append a {@code ')'}
@@ -1093,7 +1093,7 @@
  * <caption style="display:none">bIntConv</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top"> {@code 'd'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'd'}
  *     <td style="vertical-align:top"> <code>'&#92;u0064'</code>
  *     <td> Requires the output to be formatted as a decimal integer. The <a
  *     href="#L10nAlgorithm">localization algorithm</a> is applied.
@@ -1101,7 +1101,7 @@
  *     <p> If the {@code '#'} flag is given {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'o'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'o'}
  *     <td style="vertical-align:top"> <code>'&#92;u006f'</code>
  *     <td> Requires the output to be formatted as an integer in base eight.
  *     No localization is applied.
@@ -1124,7 +1124,7 @@
  *     <p> If the {@code ','} flag is given then a {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'x'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'x'}
  *     <td style="vertical-align:top"> <code>'&#92;u0078'</code>
  *     <td> Requires the output to be formatted as an integer in base
  *     sixteen.  No localization is applied.
@@ -1148,7 +1148,7 @@
  *     <p> If the {@code ','} flag is given then a {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'X'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'X'}
  *     <td style="vertical-align:top"> <code>'&#92;u0058'</code>
  *     <td> The upper-case variant of {@code 'x'}.  The entire string
  *     representing the number will be converted to {@linkplain
@@ -1190,7 +1190,7 @@
  * <caption style="display:none">floatConv</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top"> {@code 'e'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'e'}
  *     <td style="vertical-align:top"> <code>'&#92;u0065'</code>
  *     <td> Requires the output to be formatted using <a
  *     id="scientific">computerized scientific notation</a>.  The <a
@@ -1238,12 +1238,12 @@
  *     <p>If the {@code ','} flag is given, then an {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'E'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'E'}
  *     <td style="vertical-align:top"> <code>'&#92;u0045'</code>
  *     <td> The upper-case variant of {@code 'e'}.  The exponent symbol
  *     will be {@code 'E'} (<code>'&#92;u0045'</code>).
  *
- * <tr><td style="vertical-align:top"> {@code 'g'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'g'}
  *     <td style="vertical-align:top"> <code>'&#92;u0067'</code>
  *     <td> Requires the output to be formatted in general scientific notation
  *     as described below. The <a href="#L10nAlgorithm">localization
@@ -1268,11 +1268,11 @@
  *     <p> If the {@code '#'} flag is given then an {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'G'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'G'}
  *     <td style="vertical-align:top"> <code>'&#92;u0047'</code>
  *     <td> The upper-case variant of {@code 'g'}.
  *
- * <tr><td style="vertical-align:top"> {@code 'f'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'f'}
  *     <td style="vertical-align:top"> <code>'&#92;u0066'</code>
  *     <td> Requires the output to be formatted using <a id="decimal">decimal
  *     format</a>.  The <a href="#L10nAlgorithm">localization algorithm</a> is
@@ -1304,7 +1304,7 @@
  *     Float#toString(float)} or {@link Double#toString(double)} as
  *     appropriate.
  *
- * <tr><td style="vertical-align:top"> {@code 'a'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'a'}
  *     <td style="vertical-align:top"> <code>'&#92;u0061'</code>
  *     <td> Requires the output to be formatted in hexadecimal exponential
  *     form.  No localization is applied.
@@ -1357,7 +1357,7 @@
  *     <p> If the {@code '('} or {@code ','} flags are given, then a {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'A'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'A'}
  *     <td style="vertical-align:top"> <code>'&#92;u0041'</code>
  *     <td> The upper-case variant of {@code 'a'}.  The entire string
  *     representing the number will be converted to upper case including the
@@ -1427,7 +1427,7 @@
  * <caption style="display:none">floatConv</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top"> {@code 'e'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'e'}
  *     <td style="vertical-align:top"> <code>'&#92;u0065'</code>
  *     <td> Requires the output to be formatted using <a
  *     id="bscientific">computerized scientific notation</a>.  The <a
@@ -1469,12 +1469,12 @@
  *     <p> If the {@code ','} flag is given, then an {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'E'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'E'}
  *     <td style="vertical-align:top"> <code>'&#92;u0045'</code>
  *     <td> The upper-case variant of {@code 'e'}.  The exponent symbol
  *     will be {@code 'E'} (<code>'&#92;u0045'</code>).
  *
- * <tr><td style="vertical-align:top"> {@code 'g'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'g'}
  *     <td style="vertical-align:top"> <code>'&#92;u0067'</code>
  *     <td> Requires the output to be formatted in general scientific notation
  *     as described below. The <a href="#L10nAlgorithm">localization
@@ -1499,11 +1499,11 @@
  *     <p> If the {@code '#'} flag is given then an {@link
  *     FormatFlagsConversionMismatchException} will be thrown.
  *
- * <tr><td style="vertical-align:top"> {@code 'G'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'G'}
  *     <td style="vertical-align:top"> <code>'&#92;u0047'</code>
  *     <td> The upper-case variant of {@code 'g'}.
  *
- * <tr><td style="vertical-align:top"> {@code 'f'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'f'}
  *     <td style="vertical-align:top"> <code>'&#92;u0066'</code>
  *     <td> Requires the output to be formatted using <a id="bdecimal">decimal
  *     format</a>.  The <a href="#L10nAlgorithm">localization algorithm</a> is
@@ -1554,10 +1554,10 @@
  * <caption style="display:none">DTConv</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top"> {@code 't'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 't'}
  *     <td style="vertical-align:top"> <code>'&#92;u0074'</code>
  *     <td> Prefix for date and time conversion characters.
- * <tr><td style="vertical-align:top"> {@code 'T'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'T'}
  *     <td style="vertical-align:top"> <code>'&#92;u0054'</code>
  *     <td> The upper-case variant of {@code 't'}.
  *
@@ -1577,52 +1577,52 @@
  * <caption style="display:none">time</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top"> {@code 'H'}
+ * <tr><th scope="row" style="vertical-align:top"> {@code 'H'}
  *     <td style="vertical-align:top"> <code>'&#92;u0048'</code>
  *     <td> Hour of the day for the 24-hour clock, formatted as two digits with
  *     a leading zero as necessary i.e. {@code 00 - 23}. {@code 00}
  *     corresponds to midnight.
  *
- * <tr><td style="vertical-align:top">{@code 'I'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'I'}
  *     <td style="vertical-align:top"> <code>'&#92;u0049'</code>
  *     <td> Hour for the 12-hour clock, formatted as two digits with a leading
  *     zero as necessary, i.e.  {@code 01 - 12}.  {@code 01} corresponds to
  *     one o'clock (either morning or afternoon).
  *
- * <tr><td style="vertical-align:top">{@code 'k'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'k'}
  *     <td style="vertical-align:top"> <code>'&#92;u006b'</code>
  *     <td> Hour of the day for the 24-hour clock, i.e. {@code 0 - 23}.
  *     {@code 0} corresponds to midnight.
  *
- * <tr><td style="vertical-align:top">{@code 'l'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'l'}
  *     <td style="vertical-align:top"> <code>'&#92;u006c'</code>
  *     <td> Hour for the 12-hour clock, i.e. {@code 1 - 12}.  {@code 1}
  *     corresponds to one o'clock (either morning or afternoon).
  *
- * <tr><td style="vertical-align:top">{@code 'M'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'M'}
  *     <td style="vertical-align:top"> <code>'&#92;u004d'</code>
  *     <td> Minute within the hour formatted as two digits with a leading zero
  *     as necessary, i.e.  {@code 00 - 59}.
  *
- * <tr><td style="vertical-align:top">{@code 'S'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'S'}
  *     <td style="vertical-align:top"> <code>'&#92;u0053'</code>
  *     <td> Seconds within the minute, formatted as two digits with a leading
  *     zero as necessary, i.e. {@code 00 - 60} ("{@code 60}" is a special
  *     value required to support leap seconds).
  *
- * <tr><td style="vertical-align:top">{@code 'L'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'L'}
  *     <td style="vertical-align:top"> <code>'&#92;u004c'</code>
  *     <td> Millisecond within the second formatted as three digits with
  *     leading zeros as necessary, i.e. {@code 000 - 999}.
  *
- * <tr><td style="vertical-align:top">{@code 'N'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'N'}
  *     <td style="vertical-align:top"> <code>'&#92;u004e'</code>
  *     <td> Nanosecond within the second, formatted as nine digits with leading
  *     zeros as necessary, i.e. {@code 000000000 - 999999999}.  The precision
  *     of this value is limited by the resolution of the underlying operating
  *     system or hardware.
  *
- * <tr><td style="vertical-align:top">{@code 'p'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'p'}
  *     <td style="vertical-align:top"> <code>'&#92;u0070'</code>
  *     <td> Locale-specific {@linkplain
  *     java.text.DateFormatSymbols#getAmPmStrings morning or afternoon} marker
@@ -1632,7 +1632,7 @@
  *     GNU {@code date} and POSIX {@code strftime(3c)} which produce
  *     upper-case output.)
  *
- * <tr><td style="vertical-align:top">{@code 'z'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'z'}
  *     <td style="vertical-align:top"> <code>'&#92;u007a'</code>
  *     <td> <a href="http://www.ietf.org/rfc/rfc0822.txt">RFC&nbsp;822</a>
  *     style numeric time zone offset from GMT, e.g. {@code -0800}.  This
@@ -1641,7 +1641,7 @@
  *     the {@linkplain TimeZone#getDefault() default time zone} for this
  *     instance of the Java virtual machine.
  *
- * <tr><td style="vertical-align:top">{@code 'Z'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'Z'}
  *     <td style="vertical-align:top"> <code>'&#92;u005a'</code>
  *     <td> A string representing the abbreviation for the time zone.  This
  *     value will be adjusted as necessary for Daylight Saving Time.  For
@@ -1650,13 +1650,13 @@
  *     instance of the Java virtual machine.  The Formatter's locale will
  *     supersede the locale of the argument (if any).
  *
- * <tr><td style="vertical-align:top">{@code 's'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 's'}
  *     <td style="vertical-align:top"> <code>'&#92;u0073'</code>
  *     <td> Seconds since the beginning of the epoch starting at 1 January 1970
  *     {@code 00:00:00} UTC, i.e. {@code Long.MIN_VALUE/1000} to
  *     {@code Long.MAX_VALUE/1000}.
  *
- * <tr><td style="vertical-align:top">{@code 'Q'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'Q'}
  *     <td style="vertical-align:top"> <code>'&#92;u004f'</code>
  *     <td> Milliseconds since the beginning of the epoch starting at 1 January
  *     1970 {@code 00:00:00} UTC, i.e. {@code Long.MIN_VALUE} to
@@ -1672,68 +1672,68 @@
  * <caption style="display:none">date</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top">{@code 'B'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'B'}
  *     <td style="vertical-align:top"> <code>'&#92;u0042'</code>
  *     <td> Locale-specific {@linkplain java.text.DateFormatSymbols#getMonths
  *     full month name}, e.g. {@code "January"}, {@code "February"}.
  *
- * <tr><td style="vertical-align:top">{@code 'b'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'b'}
  *     <td style="vertical-align:top"> <code>'&#92;u0062'</code>
  *     <td> Locale-specific {@linkplain
  *     java.text.DateFormatSymbols#getShortMonths abbreviated month name},
  *     e.g. {@code "Jan"}, {@code "Feb"}.
  *
- * <tr><td style="vertical-align:top">{@code 'h'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'h'}
  *     <td style="vertical-align:top"> <code>'&#92;u0068'</code>
  *     <td> Same as {@code 'b'}.
  *
- * <tr><td style="vertical-align:top">{@code 'A'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'A'}
  *     <td style="vertical-align:top"> <code>'&#92;u0041'</code>
  *     <td> Locale-specific full name of the {@linkplain
  *     java.text.DateFormatSymbols#getWeekdays day of the week},
  *     e.g. {@code "Sunday"}, {@code "Monday"}
  *
- * <tr><td style="vertical-align:top">{@code 'a'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'a'}
  *     <td style="vertical-align:top"> <code>'&#92;u0061'</code>
  *     <td> Locale-specific short name of the {@linkplain
  *     java.text.DateFormatSymbols#getShortWeekdays day of the week},
  *     e.g. {@code "Sun"}, {@code "Mon"}
  *
- * <tr><td style="vertical-align:top">{@code 'C'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'C'}
  *     <td style="vertical-align:top"> <code>'&#92;u0043'</code>
  *     <td> Four-digit year divided by {@code 100}, formatted as two digits
  *     with leading zero as necessary, i.e. {@code 00 - 99}
  *
- * <tr><td style="vertical-align:top">{@code 'Y'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'Y'}
  *     <td style="vertical-align:top"> <code>'&#92;u0059'</code> <td> Year, formatted to at least
  *     four digits with leading zeros as necessary, e.g. {@code 0092} equals
  *     {@code 92} CE for the Gregorian calendar.
  *
- * <tr><td style="vertical-align:top">{@code 'y'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'y'}
  *     <td style="vertical-align:top"> <code>'&#92;u0079'</code>
  *     <td> Last two digits of the year, formatted with leading zeros as
  *     necessary, i.e. {@code 00 - 99}.
  *
- * <tr><td style="vertical-align:top">{@code 'j'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'j'}
  *     <td style="vertical-align:top"> <code>'&#92;u006a'</code>
  *     <td> Day of year, formatted as three digits with leading zeros as
  *     necessary, e.g. {@code 001 - 366} for the Gregorian calendar.
  *     {@code 001} corresponds to the first day of the year.
  *
- * <tr><td style="vertical-align:top">{@code 'm'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'm'}
  *     <td style="vertical-align:top"> <code>'&#92;u006d'</code>
  *     <td> Month, formatted as two digits with leading zeros as necessary,
  *     i.e. {@code 01 - 13}, where "{@code 01}" is the first month of the
  *     year and ("{@code 13}" is a special value required to support lunar
  *     calendars).
  *
- * <tr><td style="vertical-align:top">{@code 'd'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'd'}
  *     <td style="vertical-align:top"> <code>'&#92;u0064'</code>
  *     <td> Day of month, formatted as two digits with leading zeros as
  *     necessary, i.e. {@code 01 - 31}, where "{@code 01}" is the first day
  *     of the month.
  *
- * <tr><td style="vertical-align:top">{@code 'e'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'e'}
  *     <td style="vertical-align:top"> <code>'&#92;u0065'</code>
  *     <td> Day of month, formatted as two digits, i.e. {@code 1 - 31} where
  *     "{@code 1}" is the first day of the month.
@@ -1748,30 +1748,30 @@
  * <caption style="display:none">composites</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top">{@code 'R'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'R'}
  *     <td style="vertical-align:top"> <code>'&#92;u0052'</code>
  *     <td> Time formatted for the 24-hour clock as {@code "%tH:%tM"}
  *
- * <tr><td style="vertical-align:top">{@code 'T'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'T'}
  *     <td style="vertical-align:top"> <code>'&#92;u0054'</code>
  *     <td> Time formatted for the 24-hour clock as {@code "%tH:%tM:%tS"}.
  *
- * <tr><td style="vertical-align:top">{@code 'r'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'r'}
  *     <td style="vertical-align:top"> <code>'&#92;u0072'</code>
  *     <td> Time formatted for the 12-hour clock as {@code "%tI:%tM:%tS
  *     %Tp"}.  The location of the morning or afternoon marker
  *     ({@code '%Tp'}) may be locale-dependent.
  *
- * <tr><td style="vertical-align:top">{@code 'D'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'D'}
  *     <td style="vertical-align:top"> <code>'&#92;u0044'</code>
  *     <td> Date formatted as {@code "%tm/%td/%ty"}.
  *
- * <tr><td style="vertical-align:top">{@code 'F'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'F'}
  *     <td style="vertical-align:top"> <code>'&#92;u0046'</code>
  *     <td> <a href="http://www.w3.org/TR/NOTE-datetime">ISO&nbsp;8601</a>
  *     complete date formatted as {@code "%tY-%tm-%td"}.
  *
- * <tr><td style="vertical-align:top">{@code 'c'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'c'}
  *     <td style="vertical-align:top"> <code>'&#92;u0063'</code>
  *     <td> Date and time formatted as {@code "%ta %tb %td %tT %tZ %tY"},
  *     e.g. {@code "Sun Jul 20 16:17:00 EDT 1969"}.
@@ -1802,7 +1802,7 @@
  * <caption style="display:none">DTConv</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top">{@code '%'}
+ * <tr><th scope="row" style="vertical-align:top">{@code '%'}
  *     <td> The result is a literal {@code '%'} (<code>'&#92;u0025'</code>)
  *
  * <p> The width is the minimum number of characters to
@@ -1830,7 +1830,7 @@
  * <caption style="display:none">DTConv</caption>
  * <tbody>
  *
- * <tr><td style="vertical-align:top">{@code 'n'}
+ * <tr><th scope="row" style="vertical-align:top">{@code 'n'}
  *     <td> the platform-specific line separator as returned by {@link
  *     System#lineSeparator()}.
  *
--- a/jdk/src/java.base/share/classes/java/util/GregorianCalendar.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/util/GregorianCalendar.java	Wed Jul 12 12:48:01 2017 -0700
@@ -163,83 +163,83 @@
  * <caption style="display:none">GregorianCalendar default field values</caption>
  *   <thead>
  *     <tr>
- *       <th>
+ *       <th scope="col">
  *          Field
  *       </th>
- *       <th>
+ *       <th scope="col">
             Default Value
  *       </th>
  *     </tr>
  *   </thead>
  *   <tbody>
  *     <tr>
- *       <td>
+ *       <th scope="row">
  *              <code>ERA</code>
- *       </td>
+ *       </th>
  *       <td>
  *              <code>AD</code>
  *       </td>
  *     </tr>
  *     <tr>
- *       <td>
+ *       <th scope="row">
  *              <code>YEAR</code>
- *       </td>
+ *       </th>
  *       <td>
  *              <code>1970</code>
  *       </td>
  *     </tr>
  *     <tr>
- *       <td>
+ *       <th scope="row">
  *              <code>MONTH</code>
- *       </td>
+ *       </th>
  *       <td>
  *              <code>JANUARY</code>
  *       </td>
  *     </tr>
  *     <tr>
- *       <td>
+ *       <th scope="row">
  *              <code>DAY_OF_MONTH</code>
- *       </td>
+ *       </th>
  *       <td>
  *              <code>1</code>
  *       </td>
  *     </tr>
  *     <tr>
- *       <td>
+ *       <th scope="row">
  *              <code>DAY_OF_WEEK</code>
- *       </td>
+ *       </th>
  *       <td>
  *              <code>the first day of week</code>
  *       </td>
  *     </tr>
  *     <tr>
- *       <td>
+ *       <th scope="row">
  *              <code>WEEK_OF_MONTH</code>
- *       </td>
+ *       </th>
  *       <td>
  *              <code>0</code>
  *       </td>
  *     </tr>
  *     <tr>
- *       <td>
+ *       <th scope="row">
  *              <code>DAY_OF_WEEK_IN_MONTH</code>
- *       </td>
+ *       </th>
  *       <td>
  *              <code>1</code>
  *       </td>
  *     </tr>
  *     <tr>
- *       <td>
+ *       <th scope="row">
  *              <code>AM_PM</code>
- *       </td>
+ *       </th>
  *       <td>
  *              <code>AM</code>
  *       </td>
  *     </tr>
  *     <tr>
- *       <td>
+ *       <th scope="row">
  *              <code>HOUR, HOUR_OF_DAY, MINUTE, SECOND, MILLISECOND</code>
- *       </td>
+ *       </th>
  *       <td>
  *              <code>0</code>
  *       </td>
--- a/jdk/src/java.base/share/classes/java/util/Locale.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/java/util/Locale.java	Wed Jul 12 12:48:01 2017 -0700
@@ -1590,29 +1590,29 @@
      * <table class="striped">
      * <caption style="display:none">Grandfathered tags with canonical replacements</caption>
      * <thead style="text-align:center">
-     * <tr><th style="padding: 0 2px">grandfathered tag</th><th style="padding: 0 2px">modern replacement</th></tr>
+     * <tr><th scope="col" style="padding: 0 2px">grandfathered tag</th><th scope="col" style="padding: 0 2px">modern replacement</th></tr>
      * </thead>
      * <tbody style="text-align:center">
-     * <tr><td>art-lojban</td><td>jbo</td></tr>
-     * <tr><td>i-ami</td><td>ami</td></tr>
-     * <tr><td>i-bnn</td><td>bnn</td></tr>
-     * <tr><td>i-hak</td><td>hak</td></tr>
-     * <tr><td>i-klingon</td><td>tlh</td></tr>
-     * <tr><td>i-lux</td><td>lb</td></tr>
-     * <tr><td>i-navajo</td><td>nv</td></tr>
-     * <tr><td>i-pwn</td><td>pwn</td></tr>
-     * <tr><td>i-tao</td><td>tao</td></tr>
-     * <tr><td>i-tay</td><td>tay</td></tr>
-     * <tr><td>i-tsu</td><td>tsu</td></tr>
-     * <tr><td>no-bok</td><td>nb</td></tr>
-     * <tr><td>no-nyn</td><td>nn</td></tr>
-     * <tr><td>sgn-BE-FR</td><td>sfb</td></tr>
-     * <tr><td>sgn-BE-NL</td><td>vgt</td></tr>
-     * <tr><td>sgn-CH-DE</td><td>sgg</td></tr>
-     * <tr><td>zh-guoyu</td><td>cmn</td></tr>
-     * <tr><td>zh-hakka</td><td>hak</td></tr>
-     * <tr><td>zh-min-nan</td><td>nan</td></tr>
-     * <tr><td>zh-xiang</td><td>hsn</td></tr>
+     * <tr><th scope="row">art-lojban</th><td>jbo</td></tr>
+     * <tr><th scope="row">i-ami</th><td>ami</td></tr>
+     * <tr><th scope="row">i-bnn</th><td>bnn</td></tr>
+     * <tr><th scope="row">i-hak</th><td>hak</td></tr>
+     * <tr><th scope="row">i-klingon</th><td>tlh</td></tr>
+     * <tr><th scope="row">i-lux</th><td>lb</td></tr>
+     * <tr><th scope="row">i-navajo</th><td>nv</td></tr>
+     * <tr><th scope="row">i-pwn</th><td>pwn</td></tr>
+     * <tr><th scope="row">i-tao</th><td>tao</td></tr>
+     * <tr><th scope="row">i-tay</th><td>tay</td></tr>
+     * <tr><th scope="row">i-tsu</th><td>tsu</td></tr>
+     * <tr><th scope="row">no-bok</th><td>nb</td></tr>
+     * <tr><th scope="row">no-nyn</th><td>nn</td></tr>
+     * <tr><th scope="row">sgn-BE-FR</th><td>sfb</td></tr>
+     * <tr><th scope="row">sgn-BE-NL</th><td>vgt</td></tr>
+     * <tr><th scope="row">sgn-CH-DE</th><td>sgg</td></tr>
+     * <tr><th scope="row">zh-guoyu</th><td>cmn</td></tr>
+     * <tr><th scope="row">zh-hakka</th><td>hak</td></tr>
+     * <tr><th scope="row">zh-min-nan</th><td>nan</td></tr>
+     * <tr><th scope="row">zh-xiang</th><td>hsn</td></tr>
      * </tbody>
      * </table>
      *
@@ -1622,15 +1622,15 @@
      * <table class="striped">
      * <caption style="display:none">Grandfathered tags with no modern replacement</caption>
      * <thead style="text-align:center">
-     * <tr><th style="padding: 0 2px">grandfathered tag</th><th style="padding: 0 2px">converts to</th></tr>
+     * <tr><th scope="col" style="padding: 0 2px">grandfathered tag</th><th scope="col" style="padding: 0 2px">converts to</th></tr>
      * </thead>
      * <tbody style="text-align:center">
-     * <tr><td>cel-gaulish</td><td>xtg-x-cel-gaulish</td></tr>
-     * <tr><td>en-GB-oed</td><td>en-GB-x-oed</td></tr>
-     * <tr><td>i-default</td><td>en-x-i-default</td></tr>
-     * <tr><td>i-enochian</td><td>und-x-i-enochian</td></tr>
-     * <tr><td>i-mingo</td><td>see-x-i-mingo</td></tr>
-     * <tr><td>zh-min</td><td>nan-x-zh-min</td></tr>
+     * <tr><th scope="row">cel-gaulish</th><td>xtg-x-cel-gaulish</td></tr>
+     * <tr><th scope="row">en-GB-oed</th><td>en-GB-x-oed</td></tr>
+     * <tr><th scope="row">i-default</th><td>en-x-i-default</td></tr>
+     * <tr><th scope="row">i-enochian</th><td>und-x-i-enochian</td></tr>
+     * <tr><th scope="row">i-mingo</th><td>see-x-i-mingo</td></tr>
+     * <tr><th scope="row">zh-min</th><td>nan-x-zh-min</td></tr>
      * </tbody>
      * </table>
      *
@@ -2778,16 +2778,16 @@
      * <caption>Filtering method behavior</caption>
      * <thead>
      * <tr>
-     * <th>Filtering Mode</th>
-     * <th>Language Priority List: {@code "de-DE"}</th>
-     * <th>Language Priority List: {@code "de-*-DE"}</th>
+     * <th scope="col">Filtering Mode</th>
+     * <th scope="col">Language Priority List: {@code "de-DE"}</th>
+     * <th scope="col">Language Priority List: {@code "de-*-DE"}</th>
      * </tr>
      * </thead>
      * <tbody>
      * <tr>
-     * <td style="vertical-align:top">
+     * <th scope="row" style="vertical-align:top">
      * {@link FilteringMode#AUTOSELECT_FILTERING AUTOSELECT_FILTERING}
-     * </td>
+     * </th>
      * <td style="vertical-align:top">
      * Performs <em>basic</em> filtering and returns {@code "de-DE"} and
      * {@code "de-DE-1996"}.
@@ -2799,9 +2799,9 @@
      * </td>
      * </tr>
      * <tr>
-     * <td style="vertical-align:top">
+     * <th scope="row" style="vertical-align:top">
      * {@link FilteringMode#EXTENDED_FILTERING EXTENDED_FILTERING}
-     * </td>
+     * </th>
      * <td style="vertical-align:top">
      * Performs <em>extended</em> filtering and returns {@code "de-DE"},
      * {@code "de-Deva-DE"}, {@code "de-DE-1996"}, {@code "de-Latn-DE"}, and
@@ -2810,9 +2810,9 @@
      * <td style="vertical-align:top">Same as above.</td>
      * </tr>
      * <tr>
-     * <td style="vertical-align:top">
+     * <th scope="row" style="vertical-align:top">
      * {@link FilteringMode#IGNORE_EXTENDED_RANGES IGNORE_EXTENDED_RANGES}
-     * </td>
+     * </th>
      * <td style="vertical-align:top">
      * Performs <em>basic</em> filtering and returns {@code "de-DE"} and
      * {@code "de-DE-1996"}.
@@ -2823,9 +2823,9 @@
      * </td>
      * </tr>
      * <tr>
-     * <td style="vertical-align:top">
+     * <th scope="row" style="vertical-align:top">
      * {@link FilteringMode#MAP_EXTENDED_RANGES MAP_EXTENDED_RANGES}
-     * </td>
+     * </th>
      * <td style="vertical-align:top">Same as above.</td>
      * <td style="vertical-align:top">
      * Performs <em>basic</em> filtering and returns {@code "de-DE"} and
@@ -2834,9 +2834,9 @@
      * </td>
      * </tr>
      * <tr>
-     * <td style="vertical-align:top">
+     * <th scope="row" style="vertical-align:top">
      * {@link FilteringMode#REJECT_EXTENDED_RANGES REJECT_EXTENDED_RANGES}
-     * </td>
+     * </th>
      * <td style="vertical-align:top">Same as above.</td>
      * <td style="vertical-align:top">
      * Throws {@link IllegalArgumentException} because {@code "de-*-DE"} is
--- a/jdk/src/java.base/share/classes/javax/net/ssl/SSLPermission.java	Thu Aug 24 16:29:13 2017 +0200
+++ b/jdk/src/java.base/share/classes/javax/net/ssl/SSLPermission.java	Wed Jul 12 12:48:01 2017 -0700
@@ -48,15 +48,15 @@
  * <caption style="display:none">permission name, what it allows, and associated risks</caption>
  * <thead>
  * <tr>
- * <th>Permission Target Name</th>
- * <th>What the Permission Allows</th>
- * <th>Risks of Allowing this Permission</th>
+ * <th scope="col">Permission Target Name</th>
+ * <th scope="col">What the Permission Allows</th>
+ * <th scope="col">Risks of Allowing this Permission</th>
  * </tr>
  * </thead>
  *
  * <tbody>
  * <tr>
- *   <td>setHostnameVerifier</td>
+ *   <th scope="row">setHostnameVerifier</th>
  *   <td>The ability to set a callback which can decide whether to
  * allow a mismatch between the host being connected to by
  * an HttpsURLConnection and the common name field in
@@ -70,7 +70,7 @@
  * </tr>
  *
  * <tr>
- *   <td>getSSLSessionContext</td>
+ *   <th scope="row">getSSLSessionContext</th>
  *   <td>The ability to get the SSLSessionContext of an SSLSession.
  * </td>
  *   <td>Malicious code may monitor sessions which have been established
@@ -79,7 +79,7 @@
  * </tr>
  *
  * <tr>
- *   <td>setDefaultSSLContext</td>
+ *   <th scope="row">setDefaultSSLContext</th>
  *   <td>The ability to set the default SSL context
  * </td>
  *   <td>Malicious code can set a context that monitors the opening of