5709a7858d5c197721be66d5218a79124abadb70
lrnassar
  Tue Mar 17 08:46:31 2026 -0700
Adding alt text to images across static documentation pages, CGI headers, markdown docs, and Pandoc templates. Content images receive AI-generated descriptive alt text; decorative images (icons, spacers, toggles) receive alt="" per WCAG best practice. Also adds Image Descriptions section to the accessibility page, and fixes Pandoc Lua writers to output alt attributes. 67 files, covering help docs, news archive, ENCODE pages, portal pages, and session examples. refs #37254

diff --git src/hg/htdocs/template.html src/hg/htdocs/template.html
index 92a461724af..d73ac74af0f 100755
--- src/hg/htdocs/template.html
+++ src/hg/htdocs/template.html
@@ -1,179 +1,179 @@
 <!DOCTYPE html>
 
 <!-- template.html: Example HTML for a Genome Browser static page -->
 
 <!-- Style recommendations
 1. Capitalization: use only lowercase for HTML element names, attributes and values
 2. Quotes: Use double quotes for attribute values
 3. Whitespace: Use a new line for every block list or table element
 4. Indentation: Indent every child element 2 spaces
 5. Special characters: Don't use entity references (set editor to UTF-8), except < &
 6. Limit lines to a maximum of 100 characters
 NOTE: Be sure to make new pages executable
 -->
 
 <!-- Page header -->
 <!--#set var="TITLE" value="UCSC Genome Browser: Document Styles" -->
 <!--#set var="ROOT" value="." -->
 
 <!-- Relative paths to support mirror sites with non-standard GB docs install -->
 <!--#include virtual="$ROOT/inc/gbPageStart.html" -->
 
 <!-- Page content -->
 <h1>Sample Genome Browser Static Page (h1)</h1>
 <p>
 This is a standard paragraph (&quot;p&quot; tag) of explanatory text.
 The next part of the page demonstrates how to create a multi-column layout 
 using the grid layout feature of bootstrap.css, a widely used stylesheet which is now 
 included in the browser static pages.</p>
 
 <!-- Sections -->
 <!-- In this example, two of same size, so use 6 columns of 12 total in grid -->
 
 
 <div class="row">
 
 <!-- Left column -->
   <div class="col-md-6">
     <h2>Page section (h2)</h2>
     <p>
     This is one of two subsections, formatted as equal-sized columns.
     The bootstrap grid contains 12 columns; column widths are specified using 
     classes &quot;col-md-1&quot; through &quot;col-md-12&quot;. 
     This example contains two divs, each assigned class &quot;col-md-6&quot;, within a 
     &quot;row&quot; div.</p>
     <p>
     NOTE: The two columns are displayed only on wide screens. On small screens, the sections will 
     be stacked vertically (a feature of bootstrap responsive layout).</p>
 
 
     <h3>Subsection (h3)</h3>
     <p>
     This is the next level, a subsection. Use an &quot;h3&quot; tag for this. To structure content
     below this level use a list, table, or titled paragraph:</p>
 
     <h6>Titled paragraph</h6>
     <p>
     Use the &quot;h6&quot; tag at any level in the section hierarchy to precede a paragraph with a 
     bolded title.</p>
 
     <h3>Lists</h3>
     <p>
     The description of lists below is formatted as an HTML definition list. Use this format when 
     defining terms or phrases.  (You will not see this much in our current pages -- instead, this 
     type of text was usually styled ad-hoc using &quot;strong&quot; and &quot;br&quot; tags).</p>
     <dl>
       <dt>Definition list</dt>
       <dd>
       Use the &quot;dl&quot; tag to enclose the full list, then &quot;dt&quot; for each item term, 
       and &quot;dd&quot; for each item definition.</dd>
       <dt>Bulleted list</dt>
       Use the &quot;ul&quot; (unordered list tag) to enclose the full list, then &quot;li&quot; for 
       each list item.
       <dd>
       <dd>
       <dt>Numbered list</dt>
       <dd>
       Use the &quot;ol&quot; (ordered list) tag to enclose the full list, then &quot;li&quot; for 
       each list item.
       </dd>
     </dl>
   </div>
 
 <!-- Right column -->
   <div class="col-md-6">
     <h2>Another section</h2>
 
 <!-- Subsections -->
       <h3>List Examples</h3>
         <p>
         Here is a bulleted list (&quot;ul&quot; and &quot;li&quot; elements). To suppress the bullet
         add the class &quot;gbsNoBullet&quot; to the &quot;ul&quot; tag.</p>
 <!-- Bulleted list example -->
       <ul>
         <li>red</li>
         <li>white</li>
         <li>blue</li>
       </ul>
 
 <!-- Numbered list example -->
     <p>
     Here is a numbered list (&quot;ol&quot; and &quot;li&quot; elements):
     </p>
     <ol>
       <li>
       <strong>chrom</strong> - The name of the chromosome (e.g. chr3, chrY, chr2_random) or 
       scaffold (e.g. scaffold10671).</li>
       <li>
       <strong>chromStart</strong> - The starting position of the feature in the chromosome or 
       scaffold.  The first base in a chromosome is numbered 0.</li>
       <li>
       <strong>chromEnd</strong> - The ending position of the feature in the chromosome or scaffold. 
       The <em>chromEnd</em> base is not included in the display of the feature. 
       For example, the first 100 bases of a chromosome are defined 
       as <em>chromStart=0, chromEnd=100</em>, and span the bases numbered 0-99.</li>
     </ol>
 
     <h3>Tables</h3>
     <p>
     Here is a table (&quot;table&quot;, &quot;tr&quot;, &quot;th&quot;, and &quot;td&quot; 
     elements):</p>
 
 <!-- Table example -->
     <table>
       <tr>
         <th>Type</th>
         <th>Total</th>
       </tr>
       <tr>
         <td>Chromosomes</td>
         <td>261</td>
       </tr>
       <tr>
         <td>Haplotypes</td>
         <td>261</td>
       </tr>
       <tr>
         <td>Unlocalized contigs</td>
         <td>1270</td>
       </tr>
     </table>
     <p>
     To horizontally center the text in each table cell, add the class &quot;gbsCenterText&quot; to 
     the table element. To remove the border, add the class &quot;gbsNoBorder&quot;. </p>
 
 <!-- Preformatted code example -->
     <h3>Code</h3>
     <p>
     Here is some code in a preformatted section (&quot;pre&quot; and &quot;code&quot; tags):</p>
 
 <pre><code>sudo -i
 bash browserSetup.sh install</code></pre>
 
     <p>
     And here is some text with a <code>bit of code</code> embedded (just the &quot;code&quot; 
     tag).</p>
 
   </div> <!-- end column -->
 </div>   <!-- end row -->
 
 <h2>Section with a picture and caption</h2>
 <p>
 Use the &quot;img&quot; tag to include the picture file, which is typically in .jpg or .png format.
 Images should normally have their &quot;width&quot; and &quot;height&quot; attributes set in the
 &quot;img&quot; element. 
 The caption is a &quot;p&quot; element, which is assigned the &quot;gbsCaption&quot; class.
 To center the image, wrap it in a &quot;div&quot; or &quot;p&quot; element, and add the
 bootstrap &quot;text-center&quot; class to the wrapper element (also adding to a caption if present).
 </p>
 <p>
 In the special case where an image is used as a character/symbol embedded inline in
 a paragraph, add the class &quot;gbsInlineImg&quot; to the image tag, i.e. here's the wrench 
-(<img class="gbsInlineImg" src="images/wrench.png">).</p>
+(<img alt="" class="gbsInlineImg" src="images/wrench.png">).</p>
 <p class="text-center">
   <img class="text-center" src="images/gbstaff16.jpg" alt="Genome Browser staff" width="499" height="299">
   <p class="gbsCaption text-center">Browser staff in native habitat.</p>
 </p>
 
 <!--#include virtual="$ROOT/inc/gbPageEnd.html" -->