diff --git a/jdk/src/java.logging/share/classes/java/util/logging/LogManager.java b/jdk/src/java.logging/share/classes/java/util/logging/LogManager.java
index bb408fd..74bda0a 100644
--- a/jdk/src/java.logging/share/classes/java/util/logging/LogManager.java
+++ b/jdk/src/java.logging/share/classes/java/util/logging/LogManager.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -1887,7 +1887,7 @@
      * The registered {@linkplain #addConfigurationListener configuration
      * listeners} will be invoked after the configuration is successfully updated.
      * <br><br>
-     * <table summary="Updating configuration properties">
+     * <table><caption style="display:none">Updating configuration properties</caption>
      * <tr>
      * <th>Property</th>
      * <th>Resulting Behavior</th>
diff --git a/jdk/src/java.logging/share/classes/java/util/logging/SimpleFormatter.java b/jdk/src/java.logging/share/classes/java/util/logging/SimpleFormatter.java
index 9844729..fe81640 100644
--- a/jdk/src/java.logging/share/classes/java/util/logging/SimpleFormatter.java
+++ b/jdk/src/java.logging/share/classes/java/util/logging/SimpleFormatter.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2000, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,7 +36,7 @@
  * format.  The summary will typically be 1 or 2 lines.
  *
  * <p>
- * <a name="formatting">
+ * <a id="formatting">
  * <b>Configuration:</b></a>
  * The {@code SimpleFormatter} is initialized with the
  * <a href="../Formatter.html#syntax">format string</a>
diff --git a/jdk/src/java.naming/share/classes/javax/naming/CompositeName.java b/jdk/src/java.naming/share/classes/javax/naming/CompositeName.java
index 50534a2..17d64ae 100644
--- a/jdk/src/java.naming/share/classes/javax/naming/CompositeName.java
+++ b/jdk/src/java.naming/share/classes/javax/naming/CompositeName.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -78,7 +78,8 @@
  *the string form of a composite name and its corresponding structural form
  *({@code CompositeName}).
  *
-<table border="1" cellpadding=3 summary="examples showing string form of composite name and its corresponding structural form (CompositeName)">
+<table class="striped"><caption style="display:none">examples showing string
+ form of composite name and its corresponding structural form (CompositeName)</caption>
 
 <tr>
 <th>String Name</th>
@@ -144,7 +145,8 @@
  * string forms of two composite names simply involves concatenating
  * their string forms together.
 
-<table border="1" cellpadding=3 summary="composition examples showing string names and composite names">
+<table class="striped"><caption style="display:none">composition examples
+ showing string names and composite names</caption>
 
 <tr>
 <th>String Names</th>
diff --git a/jdk/src/java.naming/share/classes/javax/naming/Context.java b/jdk/src/java.naming/share/classes/javax/naming/Context.java
index 7605039..2d7834c 100644
--- a/jdk/src/java.naming/share/classes/javax/naming/Context.java
+++ b/jdk/src/java.naming/share/classes/javax/naming/Context.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -137,7 +137,7 @@
  * known to protect it.
  *
  *<p>
- *<a name=RESOURCEFILES></a>
+ *<a id=RESOURCEFILES></a>
  *<h1>Resource Files</h1>
  *<p>
  * To simplify the task of setting up the environment
@@ -184,7 +184,7 @@
  * {@code jndiprovider.properties}.
  *
  * <p>
- * <a name=LISTPROPS></a>
+ * <a id=LISTPROPS></a>
  * Certain methods in the JNDI class library make use of the standard
  * JNDI properties that specify lists of JNDI factories:
  * <ul>
diff --git a/jdk/src/java.naming/share/classes/javax/naming/InitialContext.java b/jdk/src/java.naming/share/classes/javax/naming/InitialContext.java
index 0fce1c9..0e2d35d 100644
--- a/jdk/src/java.naming/share/classes/javax/naming/InitialContext.java
+++ b/jdk/src/java.naming/share/classes/javax/naming/InitialContext.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -36,7 +36,7 @@
  * The initial context implements the Context interface and
  * provides the starting point for resolution of names.
  *<p>
- * <a name=ENVIRONMENT></a>
+ * <a id=ENVIRONMENT></a>
  * When the initial context is constructed, its environment
  * is initialized with properties defined in the environment parameter
  * passed to the constructor, and in any
diff --git a/jdk/src/java.naming/share/classes/javax/naming/directory/package.html b/jdk/src/java.naming/share/classes/javax/naming/directory/package.html
index c1f1860..eb363d7 100644
--- a/jdk/src/java.naming/share/classes/javax/naming/directory/package.html
+++ b/jdk/src/java.naming/share/classes/javax/naming/directory/package.html
@@ -45,7 +45,7 @@
 associated with objects stored in a directory, and to search for
 objects using specified attributes.
 
-<h4>The Directory Context</h4>
+<h3>The Directory Context</h3>
 
 The <code>DirContext</code>
 interface represents a <em>directory context</em>.
diff --git a/jdk/src/java.naming/share/classes/javax/naming/event/package.html b/jdk/src/java.naming/share/classes/javax/naming/event/package.html
index f63baf8..e70ca97 100644
--- a/jdk/src/java.naming/share/classes/javax/naming/event/package.html
+++ b/jdk/src/java.naming/share/classes/javax/naming/event/package.html
@@ -40,7 +40,7 @@
 implementation.  Thus a variety of services--new, emerging, and
 already deployed ones--can be accessed in a common way.
 
-<h4>Naming Events</h4>
+<h3>Naming Events</h3>
 <p>
 This package defines a <code>NamingEvent</code> class to represent an event
 that is generated by a naming/directory service.
@@ -78,7 +78,7 @@
 </pre>
 </blockquote>
 
-<a name=THREADING></a>
+<a id=THREADING></a>
 <h4>Threading Issues</h4>
 
 When an event is dispatched to a listener, the listener method (such
diff --git a/jdk/src/java.naming/share/classes/javax/naming/ldap/package.html b/jdk/src/java.naming/share/classes/javax/naming/ldap/package.html
index f6bf021..8af8ce7 100644
--- a/jdk/src/java.naming/share/classes/javax/naming/ldap/package.html
+++ b/jdk/src/java.naming/share/classes/javax/naming/ldap/package.html
@@ -48,7 +48,7 @@
 methods on a context for performing extended operations and handling
 controls.
 
-<h4>Extended Operations</h4>
+<h3>Extended Operations</h3>
 <p>
 This package defines the interface <code>ExtendedRequest</code>
 to represent the argument to an extended operation,
@@ -125,7 +125,7 @@
 }
 </pre></blockquote>
 
-<h4>Controls</h4>
+<h3>Controls</h3>
 
 This package defines the interface <code>Control</code> to represent an LDAPv3
 control. It can be a control that is sent to an LDAP server
@@ -203,7 +203,7 @@
 Control[] respCtls = ectx.getResponseControls();
 if (respCtls != null) {
     // Find the one we want
-    for (int i = 0; i < respCtls; i++) {
+    for (int i = 0; i &lt; respCtls; i++) {
         if(respCtls[i] instanceof ChangeIDControl) {
 	    ChangeIDControl cctl = (ChangeIDControl)respCtls[i];
 	    System.out.println(cctl.getChangeID());
diff --git a/jdk/src/java.naming/share/classes/javax/naming/package.html b/jdk/src/java.naming/share/classes/javax/naming/package.html
index 2f5d919..224e0cb 100644
--- a/jdk/src/java.naming/share/classes/javax/naming/package.html
+++ b/jdk/src/java.naming/share/classes/javax/naming/package.html
@@ -40,7 +40,7 @@
 already deployed ones--can be accessed in a common way.
 
 
-<h4>Context</h4>
+<h3>Context</h3>
 <p>
 This package defines the notion of a <em>context</em>, represented
 by the <code>Context</code> interface.
@@ -63,7 +63,7 @@
 </pre>
 </blockquote>
 
-<h4>Names</h4>
+<h3>Names</h3>
 <p>
 Every naming method in the <code>Context</code>
 interface has two
@@ -82,7 +82,7 @@
 for simple applications, such as those that simply read in a name
 and look up the corresponding object.
 
-<h4>Bindings</h4>
+<h3>Bindings</h3>
 
 The <code>Binding</code> class represents a name-to-object binding.
 It is a tuple containing the name of the bound object,
@@ -95,7 +95,7 @@
 information about the object's class and do not want to
 pay the extra cost of getting the object.
 
-<h4>References</h4>
+<h3>References</h3>
 Objects are stored in naming and directory services in different ways.
 If an object store supports storing Java objects, 
 it might support storing an object in its serialized form.
@@ -112,7 +112,7 @@
 is stored in the directory are Java objects. 
 
 
-<h4>The Initial Context</h4>
+<h3>The Initial Context</h3>
 
 In JNDI, all naming and directory operations are performed relative
 to a context. There are no absolute roots.
@@ -122,7 +122,7 @@
 Once you have an initial context, you can use it to
 look up other contexts and objects.
 
-<h4>Exceptions</h4>
+<h3>Exceptions</h3>
 
 JNDI defines a class hierarchy for exceptions that can be thrown in
 the course of performing naming and directory operations.  The root of
diff --git a/jdk/src/java.naming/share/classes/javax/naming/spi/ObjectFactory.java b/jdk/src/java.naming/share/classes/javax/naming/spi/ObjectFactory.java
index c78f5d3..e18e730 100644
--- a/jdk/src/java.naming/share/classes/javax/naming/spi/ObjectFactory.java
+++ b/jdk/src/java.naming/share/classes/javax/naming/spi/ObjectFactory.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 1999, 2004, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 1999, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -136,7 +136,7 @@
  *
  * <p>
  * <b>Name and Context Parameters.</b> &nbsp;&nbsp;&nbsp;
- * <a name=NAMECTX></a>
+ * <a id=NAMECTX></a>
  *
  * The {@code name} and {@code nameCtx} parameters may
  * optionally be used to specify the name of the object being created.
diff --git a/jdk/src/java.naming/share/classes/javax/naming/spi/package.html b/jdk/src/java.naming/share/classes/javax/naming/spi/package.html
index 84075e0..6d7dd57 100644
--- a/jdk/src/java.naming/share/classes/javax/naming/spi/package.html
+++ b/jdk/src/java.naming/share/classes/javax/naming/spi/package.html
@@ -47,7 +47,7 @@
 directory services.
 
 
-<h4>Plug-in Architecture</h4>
+<h3>Plug-in Architecture</h3>
 
 The service provider package allows different implementations to be plugged in
 dynamically.
@@ -56,7 +56,7 @@
 and implementations for contexts that can be reached 
 from the initial context.
 
-<h4>Java Object Support</h4>
+<h3>Java Object Support</h3>
 
 The service provider package provides support
 for implementors of the
@@ -68,7 +68,7 @@
 back a printer object on which to operate.
 
 
-<h4>Multiple Naming Systems (Federation)</h4>
+<h3>Multiple Naming Systems (Federation)</h3>
 
 JNDI operations allow applications to supply names that span multiple
 naming systems.  So in the process of completing
diff --git a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java
index 30ad5ce..e2fe8b2 100644
--- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java
+++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpServer.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -51,7 +51,7 @@
  * {@link java.util.concurrent.Executor} object. If none is provided a default
  * implementation is used.
  * <p>
- * <a name="mapping_description"></a>
+ * <a id="mapping_description"></a>
  * <b>Mapping request URIs to HttpContext paths</b><p>
  * When a HTTP request is received,
  * the appropriate HttpContext (and handler) is located by finding the context
@@ -59,7 +59,7 @@
  * Paths are matched literally, which means that the strings are compared
  * case sensitively, and with no conversion to or from any encoded forms.
  * For example. Given a HttpServer with the following HttpContexts configured.
- * <table>
+ * <table><caption style="display:none">description</caption>
  * <tr><td><i>Context</i></td><td><i>Context path</i></td></tr>
  * <tr><td>ctx1</td><td>"/"</td></tr>
  * <tr><td>ctx2</td><td>"/apps/"</td></tr>
@@ -68,7 +68,7 @@
  * <p>
  * the following table shows some request URIs and which, if any context they would
  * match with.
- * <table>
+ * <table><caption style="display:none">description</caption>
  * <tr><td><i>Request URI</i></td><td><i>Matches context</i></td></tr>
  * <tr><td>"http://foo.com/apps/foo/bar"</td><td>ctx3</td></tr>
  * <tr><td>"http://foo.com/apps/Foo/bar"</td><td>no match, wrong case</td></tr>
diff --git a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsConfigurator.java b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsConfigurator.java
index 6c4ddae..dbd46a5 100644
--- a/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsConfigurator.java
+++ b/jdk/src/jdk.httpserver/share/classes/com/sun/net/httpserver/HttpsConfigurator.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2005, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2005, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -41,7 +41,7 @@
  * the {@link #configure(HttpsParameters)} method in order to change
  * the default configuration.
  * <p>
- * The following <a name="example">example</a> shows how this may be done:
+ * The following <a id="example">example</a> shows how this may be done:
  *
  * <blockquote><pre>
  * SSLContext sslContext = SSLContext.getInstance (....);
diff --git a/jdk/src/jdk.net/share/classes/jdk/net/NetworkPermission.java b/jdk/src/jdk.net/share/classes/jdk/net/NetworkPermission.java
index 285f305..a3acc63 100644
--- a/jdk/src/jdk.net/share/classes/jdk/net/NetworkPermission.java
+++ b/jdk/src/jdk.net/share/classes/jdk/net/NetworkPermission.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2014, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2014, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -34,8 +34,8 @@
  * <p>
  * The following targets are defined:
  *
- * <table border=1 cellpadding=5 summary="permission target name,
- *  what the target allows,and associated risks">
+ * <table class="striped"><caption style="display:none">permission target name,
+ *  what the target allows,and associated risks</caption>
  * <tr>
  *   <th>Permission Target Name</th>
  *   <th>What the Permission Allows</th>
diff --git a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpChannel.java b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpChannel.java
index c704332..53647e0 100644
--- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpChannel.java
+++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpChannel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -59,7 +59,7 @@
  * {@link #setOption(SctpSocketOption,Object) setOption} method. An SCTP
  * channel support the following options:
  * <blockquote>
- * <table border summary="Socket options">
+ * <table class="striped"><caption style="display:none">Socket options</caption>
  *   <tr>
  *     <th>Option Name</th>
  *     <th>Description</th>
diff --git a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpMultiChannel.java b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpMultiChannel.java
index 5294143..cb498c9 100644
--- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpMultiChannel.java
+++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpMultiChannel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -63,7 +63,7 @@
  * {@link #setOption(SctpSocketOption,Object,Association) setOption} method. An
  * {@code SctpMultiChannel} supports the following options:
  * <blockquote>
- * <table border summary="Socket options">
+ * <table class="striped"><caption style="display:none">Socket options</caption>
  *   <tr>
  *     <th>Option Name</th>
  *     <th>Description</th>
diff --git a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpServerChannel.java b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpServerChannel.java
index 4a2ced9..cf56fd1 100644
--- a/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpServerChannel.java
+++ b/jdk/src/jdk.sctp/share/classes/com/sun/nio/sctp/SctpServerChannel.java
@@ -1,5 +1,5 @@
 /*
- * Copyright (c) 2009, 2013, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2009, 2017, Oracle and/or its affiliates. All rights reserved.
  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
  *
  * This code is free software; you can redistribute it and/or modify it
@@ -47,7 +47,7 @@
  * {@link #setOption(SctpSocketOption,Object) setOption} method. SCTP server socket
  * channels support the following options:
  * <blockquote>
- * <table border summary="Socket options">
+ * <table><caption style="display:none">Socket options</caption>
  *   <tr>
  *     <th>Option Name</th>
  *     <th>Description</th>
