Use heading id attributes instead of a separate anchor.

RELNOTES: None
PiperOrigin-RevId: 296269962
diff --git a/site/docs/query-how-to.html b/site/docs/query-how-to.html
index acb5d06..22d66b9 100644
--- a/site/docs/query-how-to.html
+++ b/site/docs/query-how-to.html
@@ -100,9 +100,7 @@
 build?</a></li></ul></li></ul></li>
 </ul>
 
-<p><a name="Finding_the_Dependencies_of_a_Ru"></a></p>
-
-<h2>Finding the Dependencies of a Rule</h2>
+<h2 id="Finding_the_Dependencies_of_a_Ru">Finding the Dependencies of a Rule</h2>
 
 <p>To see the dependencies of <code>//foo</code>, use the
 <code>deps</code> function in bazel query:</p>
@@ -116,9 +114,7 @@
 
 <p>This is the set of all targets required to build <code>//foo</code>.</p>
 
-<p><a name="Tracing_the_Dependency_Chain_bet"></a></p>
-
-<h2>Tracing the Dependency Chain between Two Packages</h2>
+<h2 id="Tracing_the_Dependency_Chain_bet">Tracing the Dependency Chain between Two Packages</h2>
 
 <p>The library <code>//third_party/zlib:zlibonly</code> isn't in the BUILD file for
 <code>//foo</code>, but it is an indirect dependency. How can
@@ -179,9 +175,7 @@
 //third_party/openssl:crypto
 </pre>
 
-<p><a name="Aside_implicit_dependencies"></a></p>
-
-<h3>Aside: implicit dependencies</h3>
+<h3 id="Aside_implicit_dependencies">Aside: implicit dependencies</h3>
 
 <p>The BUILD file for <code>//foo</code> never references
 <code>//translations/tools:aggregator</code>. So, where's the direct dependency?</p>
@@ -194,9 +188,7 @@
   currently undocumented. Using <code>--noimplicit_deps</code> allows you to filter out
   these deps from your query results.
 
-<p><a name="Reverse_Dependencies"></a></p>
-
-<h2>Reverse Dependencies</h2>
+<h2 id="Reverse_Dependencies">Reverse Dependencies</h2>
 
 <p>You might want to know the set of targets that depends on some target.  e.g.,
 if you're going to change some code, you might want to know what other code
@@ -206,61 +198,41 @@
 Bazel's <a href="query.html#sky-query">Sky Query</a>
 supports the <code>allrdeps</code> function which allows you to query rdeps in the entire
 universe of the build.
-<p><a name="Miscellaneous_Uses"></a></p>
-
-<h2>Miscellaneous Uses</h2>
+<h2 id="Miscellaneous_Uses">Miscellaneous Uses</h2>
 
 <p>You can use <code>bazel query</code> to analyze many dependency relationships.</p>
 
-<p><a name="What_exists_"></a></p>
+<h3 id="What_exists_">What exists ...</h3>
 
-<h3>What exists ...</h3>
-
-<p><a name="What_packages_exist_beneath_foo_"></a></p>
-
-<h4>What packages exist beneath <code>foo</code>?</h4>
+<h4 id="What_packages_exist_beneath_foo_">What packages exist beneath <code>foo</code>?</h4>
 
 <pre>bazel query 'foo/...' --output package</pre>
 
-<p><a name="What_rules_are_defined_in_the_foo"></a></p>
-
-<h4>What rules are defined in the <code>foo</code> package?</h4>
+<h4 id="What_rules_are_defined_in_the_foo">What rules are defined in the <code>foo</code> package?</h4>
 
 <pre>bazel query 'kind(rule, foo:*)' --output label_kind</pre>
 
-<p><a name="What_files_are_generated_by_rule"></a></p>
-
-<h4>What files are generated by rules in the <code>foo</code> package?</h4>
+<h4 id="What_files_are_generated_by_rule">What files are generated by rules in the <code>foo</code> package?</h4>
 
 <pre>bazel query 'kind("generated file", //foo:*)'</pre>
 
-<p><a name="What_targets_are_generated_by_macro"></a></p>
-
-<h4>What targets are generated by starlark macro <code>foo</code>?</h4>
+<h4 id="What_targets_are_generated_by_macro">What targets are generated by starlark macro <code>foo</code>?</h4>
 
 <pre>bazel query 'attr(generator_function, foo, //path/to/search/...)'</pre>
 
-<p><a name="What_s_the_set_of_BUILD_files_ne"></a></p>
-
-<h4>What's the set of BUILD files needed to build <code>//foo</code>?</h4>
+<h4 id="What_s_the_set_of_BUILD_files_ne">What's the set of BUILD files needed to build <code>//foo</code>?</h4>
 
 <pre>bazel query 'buildfiles(deps(//foo))' | cut -f1 -d:</pre>
 
-<p><a name="What_are_the_individual_tests_th"></a></p>
-
-<h4>What are the individual tests that a <code>test_suite</code> expands to?</h4>
+<h4 id="What_are_the_individual_tests_th">What are the individual tests that a <code>test_suite</code> expands to?</h4>
 
 <pre>bazel query 'tests(//foo:smoke_tests)'</pre>
 
-<p><a name="Which_of_those_are_C_tests_"></a></p>
-
-<h4>Which of those are C++ tests?</h4>
+<h4 id="Which_of_those_are_C_tests_">Which of those are C++ tests?</h4>
 
 <pre>bazel query 'kind(cc_.*, tests(//foo:smoke_tests))'</pre>
 
-<p><a name="Which_of_those_are_small_Medium_"></a></p>
-
-<h4>Which of those are small?  Medium?  Large?</h4>
+<h4 id="Which_of_those_are_small_Medium_">Which of those are small?  Medium?  Large?</h4>
 
 <pre>
 bazel query 'attr(size, small, tests(//foo:smoke_tests))'
@@ -270,9 +242,7 @@
 bazel query 'attr(size, large, tests(//foo:smoke_tests))'
 </pre>
 
-<p><a name="What_are_the_tests_beneath_foo_t"></a></p>
-
-<h4>What are the tests beneath <code>foo</code> that match a pattern?</h4>
+<h4 id="What_are_the_tests_beneath_foo_t">What are the tests beneath <code>foo</code> that match a pattern?</h4>
 
 <pre>bazel query 'filter("pa?t", kind(".*_test rule", //foo/...))'</pre>
 
@@ -280,77 +250,54 @@
 
 <pre>bazel query 'kind(".*_test rule", //foo/...)' | grep -E 'pa?t'</pre>
 
-<p><a name="What_package_contains_file_java_"></a></p>
-
-<h4>What package contains file <code>path/to/file/bar.java</code>?</h4>
+<h4 id="What_package_contains_file_java_">What package contains file <code>path/to/file/bar.java</code>?</h4>
 
 <pre> bazel query path/to/file/bar.java --output=package</pre>
 
-<p><a name="What_is_the_build_label_for_java"></a></p>
-
-<h4>What is the build label for <code>path/to/file/bar.java?</code></h4>
+<h4 id="What_is_the_build_label_for_java">What is the build label for <code>path/to/file/bar.java?</code></h4>
 
 <pre>bazel query path/to/file/bar.java</pre>
 
-<p><a name="What_build_rule_contains_file_ja"></a></p>
-
-<h4>What rule target(s) contain file <code>path/to/file/bar.java</code> as a source?</h4>
+<h4 id="What_build_rule_contains_file_ja">What rule target(s) contain file <code>path/to/file/bar.java</code> as a source?</h4>
 
 <pre>
 fullname=$(bazel query path/to/file/bar.java)
 bazel query "attr('srcs', $fullname, ${fullname//:*/}:*)"
 </pre>
 
-<p><a name="What_package_dependencies_exist_"></a></p>
+<h3 id="What_package_dependencies_exist_">What package dependencies exist ...</h3>
 
-<h3>What package dependencies exist ...</h3>
-
-<p><a name="What_packages_does_foo_depend_on"></a></p>
-
-<h4>What packages does <code>foo</code> depend on? (What do I need to check out to build <code>foo</code>)</h4>
+<h4 id="What_packages_does_foo_depend_on">What packages does <code>foo</code> depend on? (What do I need to check out to build <code>foo</code>)</h4>
 
 <pre>bazel query 'buildfiles(deps(//foo:foo))' --output package</pre>
 
 <p>Note, <code>buildfiles</code> is required in order to correctly obtain all files
 referenced by <code>subinclude</code>; see the reference manual for details.</p>
 
-<p><a name="What_packages_does_the_foo_"></a></p>
-
-<h4>What packages does the <code>foo</code> tree depend on, excluding <code>foo/contrib</code>?</h4>
+<h4 id="What_packages_does_the_foo_">What packages does the <code>foo</code> tree depend on, excluding <code>foo/contrib</code>?</h4>
 
 <pre>bazel query 'deps(foo/... except foo/contrib/...)' --output package</pre>
 
-<p><a name="What_rule_dependencies_exist_"></a></p>
+<h3 id="What_rule_dependencies_exist_">What rule dependencies exist ...</h3>
 
-<h3>What rule dependencies exist ...</h3>
-
-<p><a name="What_genproto_rules_does_bar_"></a></p>
-
-<h4>What genproto rules does bar depend upon?</h4>
+<h4 id="What_genproto_rules_does_bar_">What genproto rules does bar depend upon?</h4>
 
 <pre>bazel query 'kind(genproto, deps(bar/...))'</pre>
 
-<p><a name="Find_the_definition_of_some_JNI_"></a></p>
-
-<h4>Find the definition of some JNI (C++) library that is transitively depended upon by a Java binary rule in the servlet tree.</h4>
+<h4 id="Find_the_definition_of_some_JNI_">Find the definition of some JNI (C++) library that is transitively depended upon by a Java binary rule in the servlet tree.</h4>
 
 <pre>bazel query 'some(kind(cc_.*library, deps(kind(java_binary, //java/com/example/frontend/...))))' --output location</pre>
-<p><a name="_Now_find_the_definitions_of_all"></a></p>
 
-<h5>...Now find the definitions of all the Java binaries that depend on them</h5>
+<h5 id="_Now_find_the_definitions_of_all">...Now find the definitions of all the Java binaries that depend on them</h5>
 
 <pre>bazel query 'let jbs = kind(java_binary, //java/com/example/frontend/...) in
   let cls = kind(cc_.*library, deps($jbs)) in
     $jbs intersect allpaths($jbs, $cls)'
 </pre>
 
-<p><a name="What_file_dependencies_exist_"></a></p>
+<h3 id="What_file_dependencies_exist_">What file dependencies exist ...</h3>
 
-<h3>What file dependencies exist ...</h3>
-
-<p><a name="What_s_the_complete_set_of_Java_"></a></p>
-
-<h4>What's the complete set of Java source files required to build foo?</h4>
+<h4 id="What_s_the_complete_set_of_Java_">What's the complete set of Java source files required to build foo?</h4>
 
 <p>Source files:</p>
 
@@ -360,9 +307,7 @@
 
 <pre>bazel query 'kind("generated file", deps(//path/to/target/foo/...))' | grep java$</pre>
 
-<p><a name="What_is_the_complete_set_of_Java"></a></p>
-
-<h4>What is the complete set of Java source files required to build QUX's tests?</h4>
+<h4 id="What_is_the_complete_set_of_Java">What is the complete set of Java source files required to build QUX's tests?</h4>
 
 <p>Source files:</p>
 
@@ -372,29 +317,19 @@
 
 <pre>bazel query 'kind("generated file", deps(kind(".*_test rule", javatests/com/example/qux/...)))' | grep java$</pre>
 
-<p><a name="What_differences_in_dependencies"></a></p>
+<h3 id="What_differences_in_dependencies">What differences in dependencies between X and Y exist ...</h3>
 
-<h3>What differences in dependencies between X and Y exist ...</h3>
-
-<p><a name="What_targets_does_foo_depend_on_"></a></p>
-
-<h4>What targets does <code>//foo</code> depend on that <code>//foo:foolib</code> does not?</h4>
+<h4 id="What_targets_does_foo_depend_on_">What targets does <code>//foo</code> depend on that <code>//foo:foolib</code> does not?</h4>
 
 <pre>bazel query 'deps(//foo) except deps(//foo:foolib)'</pre>
 
-<p><a name="What_C_libraries_do_the_foo_test"></a></p>
-
-<h4>What C++ libraries do the <code>foo</code> tests depend on that the <code>//foo</code> production binary does <em>not</em> depend on?</h4>
+<h4 id="What_C_libraries_do_the_foo_test">What C++ libraries do the <code>foo</code> tests depend on that the <code>//foo</code> production binary does <em>not</em> depend on?</h4>
 
 <pre>bazel query 'kind("cc_library", deps(kind(".*test rule", foo/...)) except deps(//foo))'</pre>
 
-<p><a name="Why_does_this_dependency_exist_"></a></p>
+<h3 id="Why_does_this_dependency_exist_">Why does this dependency exist ...</h3>
 
-<h3>Why does this dependency exist ...</h3>
-
-<p><a name="Why_does_bar_depend_on_groups"></a></p>
-
-<h4>Why does <code>bar</code> depend on <code>groups2</code>?</h4>
+<h4 id="Why_does_bar_depend_on_groups">Why does <code>bar</code> depend on <code>groups2</code>?</h4>
 
 <pre>bazel query 'somepath(bar/...,groups2/...:*)'</pre>
 
@@ -402,16 +337,12 @@
 target stands out as being an unexpected or egregious and undesirable
 dependency of <code>bar</code>.  The query can then be further refined to:</p>
 
-<p><a name="Show_me_a_path_from_docker_updater"></a></p>
-
-<h4>Show me a path from <code>docker/updater:updater_systest</code> (a <code>py_test</code>) to some <code>cc_library</code> that it depends upon:</h4>
+<h4 id="Show_me_a_path_from_docker_updater">Show me a path from <code>docker/updater:updater_systest</code> (a <code>py_test</code>) to some <code>cc_library</code> that it depends upon:</h4>
 
 <pre>bazel query 'let cc = kind(cc_library, deps(docker/updater:updater_systest)) in
   somepath(docker/updater:updater_systest, $cc)'</pre>
 
-<p><a name="Why_does_library_photos_frontend"></a></p>
-
-<h4>Why does library <code>//photos/frontend:lib</code> depend on two variants of the same library <code>//third_party/jpeglib</code> and <code>//third_party/jpeg</code>?</h4>
+<h4 id="Why_does_library_photos_frontend">Why does library <code>//photos/frontend:lib</code> depend on two variants of the same library <code>//third_party/jpeglib</code> and <code>//third_party/jpeg</code>?</h4>
 
 <p>This query boils down to: "show me the subgraph of <code>//photos/frontend:lib</code> that
 depends on both libraries".  When shown in topological order, the last element
@@ -429,13 +360,9 @@
 //third_party/jpeg/img:renderer
 </pre>
 
-<p><a name="What_depends_on_"></a></p>
+<h3 id="What_depends_on_">What depends on  ...</h3>
 
-<h3>What depends on  ...</h3>
-
-<p><a name="What_rules_under_bar_depend_o"></a></p>
-
-<h4>What rules under bar depend on Y?</h4>
+<h4 id="What_rules_under_bar_depend_o">What rules under bar depend on Y?</h4>
 
 <pre>bazel query 'bar/... intersect allpaths(bar/..., Y)'</pre>
 
@@ -443,32 +370,23 @@
 depend on Y?" If expression X is non-trivial, it may be convenient to bind a
 name to it using <code>let</code> to avoid duplication.</p>
 
-<p><a name="What_are_the_intra_package_direct_rdeps"></a></p>
-
-<h4>What targets directly depend on T, in T's package?</h4>
+<h4 id="What_are_the_intra_package_direct_rdeps">What targets directly depend on T, in T's package?</h4>
 
 <pre>bazel query 'same_pkg_direct_rdeps(T)'</pre>
 
-<p><a name="How_do_I_break_a_dependency_"></a></p>
-
-<h3>How do I break a dependency ...</h3>
+<h3 id="How_do_I_break_a_dependency_">How do I break a dependency ...</h3>
 
 <p><!-- TODO find a convincing value of X to plug in here -->
-<a name="What_dependency_paths_do_I_have_"></a></p>
 
-<h4>What dependency paths do I have to break to make <code>bar</code> no longer depend on X?</h4>
+<h4 id="What_dependency_paths_do_I_have_">What dependency paths do I have to break to make <code>bar</code> no longer depend on X?</h4>
 
 <p>To output the graph to a <code>svg</code> file:</p>
 
 <pre>bazel query 'allpaths(bar/...,X)' --output graph | dot -Tsvg &gt; /tmp/dep.svg</pre>
 
-<p><a name="Misc_"></a></p>
+<h3 id="Misc_">Misc ...</h3>
 
-<h3>Misc ...</h3>
-
-<p><a name="How_many_sequential_steps_are_th"></a></p>
-
-<h4>How many sequential steps are there in the <code>//foo-tests</code> build?</h4>
+<h4 id="How_many_sequential_steps_are_th">How many sequential steps are there in the <code>//foo-tests</code> build?</h4>
 
 <p>Unfortunately, the query language can't currently give you the longest path
 from x to y, but it can find the (or rather <em>a</em>) most distant node from the