acace5022c846865a6e449fe1973e94504394cde
lrnassar
  Tue Apr 7 16:33:34 2026 -0700
Add aria-labels to Base Position and supertrack/container dropdowns on hgTracks. refs #37344

New hideShowDropDownWithClassExtraAndLabel() passes label through to the
existing labeled dropdown function. superTrackDropDownWithExtra() now passes
tdb->shortLabel. Ruler dropdown updated in both hgTracks.c and config.c.
Brings hgTracks track dropdown label coverage from 69% to 100%.

diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c
index e45f2a611e7..dd30ecafb77 100644
--- src/hg/hgTracks/hgTracks.c
+++ src/hg/hgTracks/hgTracks.c
@@ -10016,34 +10016,34 @@
 
             hPrintf("<input type='submit' name='hgt.refresh' value='Refresh' "
                     "title='Update image with your changes. Any of the refresh buttons on this page may be used.'>\n");
             hPrintf("</td></tr></table></th>\n");
             controlGridEndRow(cg);
 
             /* Base Position track goes into map group, which will always exist. */
             if (!showedRuler && sameString(group->name, "map") )
 		{
 		char *url = trackUrl(RULER_TRACK_NAME, chromName);
 		showedRuler = TRUE;
 		myControlGridStartCell(cg, isOpen, group->name, FALSE);
 		hPrintf("<A HREF=\"%s\">", url);
 		hPrintf(" %s<BR> ", RULER_TRACK_LABEL);
 		hPrintf("</A>");
-		hDropListClassWithStyle("ruler", rulerMenu,
+		cgiMakeDropListClassWithIdStyleJavascriptAndLabel("ruler", NULL, rulerMenu,
 			sizeof(rulerMenu)/sizeof(char *), rulerMenu[rulerMode],
 			rulerMode == tvHide ? "hiddenText" : "normalText",
-			TV_DROPDOWN_STYLE);
+			TV_DROPDOWN_STYLE, NULL, RULER_TRACK_LABEL);
 		controlGridEndCell(cg);
 		freeMem(url);
 		}
 
 	    /* Add supertracks to track list, sort by priority and
 	     * determine if they have visible member tracks */
             if (sameString(group->name, "visible"))
                 {
                 // we want tracks in the visible list to also be visible
                 // in the normal group list, so use a separate hash for the
                 // visible tracks grouping
                 groupTrackListAddSuper(cart, group, hashNew(8), hashNew(8));
                 }
             else
                 groupTrackListAddSuper(cart, group, superHash, trackHash);