9a1687b6341af06ee8e0746a9a502ba09cee8284 lrnassar Tue Apr 7 16:11:57 2026 -0700 Add missing form labels and aria-labels across hgTables pages and main site search. refs #37343 Main page search bar (index.html): aria-label on search input. hgTables main page (mainPage.c): aria-label on Galaxy/GREAT checkboxes, fix Position label to target radio button instead of text input, aria-label on position text input. hgTables user regions (userRegions.c): aria-label on paste textarea and file upload input. hgTables filter page (filterFields.c): aria-label on all per-field filter dropdowns and text inputs across string, numeric, integer, and enum field types. hgTables intersect page (intersect.c): label elements on all 6 radio buttons and 2 complement checkboxes, aria-label on threshold text inputs. diff --git src/hg/hgTables/mainPage.c src/hg/hgTables/mainPage.c index fa9488268e2..7901c648c7f 100644 --- src/hg/hgTables/mainPage.c +++ src/hg/hgTables/mainPage.c @@ -436,35 +436,37 @@ } if (!cfgOptionBooleanDefault("hgta.disableSendOutput", FALSE)) { hPrintf(" Send output to "); struct dyString *dy = dyStringNew(256); dyStringAppend(dy, "document.getElementById('checkboxGreat').checked=false;"); if (isGenomeSpaceEnabled()) dyStringAppend(dy, "document.getElementById('checkboxGenomeSpace').checked=false;"); dyStringAppend(dy, "return true;"); - cgiMakeCheckBoxWithId("sendToGalaxy", doGalaxy(), "checkboxGalaxy"); + cgiMakeCheckBoxIdAndMore("sendToGalaxy", doGalaxy(), "checkboxGalaxy", + "aria-label='Send output to Galaxy'"); jsOnEventById("click", "checkboxGalaxy", dy->string); hPrintf("Galaxy\n"); nbSpaces(2); - cgiMakeCheckBoxWithId("sendToGreat", doGreat(), "checkboxGreat"); + cgiMakeCheckBoxIdAndMore("sendToGreat", doGreat(), "checkboxGreat", + "aria-label='Send output to GREAT'"); jsOnEventById("click", "checkboxGreat", "return onSelectGreat();"); hPrintf(" GREAT"); if (isGenomeSpaceEnabled()) { nbSpaces(2); cgiMakeCheckBoxWithId("sendToGenomeSpace", doGenomeSpace(), "checkboxGenomeSpace"); jsOnEventById("click", "checkboxGenomeSpace", "document.getElementById('checkboxGreat').checked=false;" "document.getElementById('checkboxGalaxy').checked=false; return true;"); hPrintf(" GenomeSpace"); } } hPrintf("\n"); } @@ -787,32 +789,34 @@ makeRegionButtonExtraHtml(hgtaRegionTypeGenome, regionType, "DISABLED"); hPrintf(" genome (unavailable for selected track)" " "); } else { makeRegionButton(hgtaRegionTypeGenome, regionType); hPrintf("  ", hgtaRegionType, hgtaRegionTypeGenome); } if (doEncode) { makeRegionButton(hgtaRegionTypeEncode, regionType); hPrintf("  ", hgtaRegionType, hgtaRegionTypeEncode); } makeRegionButton(hgtaRegionTypeRange, regionType); - hPrintf("  ", hgtaRange); - hPrintf("\n", + hPrintf("  ", + hgtaRegionType, hgtaRegionTypeRange); + hPrintf("\n", hgtaRange, hgtaRange, range); jsOnEventById("focus", hgtaRange, jsRadioUpdate(hgtaRegionType, "regionType", "range")); cgiMakeButton(hgtaDoLookupPosition, "Lookup"); hPrintf(" "); if (userRegionsFileName() != NULL) { makeRegionButton(hgtaRegionTypeUserRegions, regionType); hPrintf("  ", hgtaRegionType, hgtaRegionTypeUserRegions); cgiMakeButton(hgtaDoSetUserRegions, "Change"); hPrintf(" "); cgiMakeButton(hgtaDoClearUserRegions, "Clear"); } else cgiMakeButton(hgtaDoSetUserRegions, "Define regions");