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/userRegions.c src/hg/hgTables/userRegions.c
index c0f07edfb39..74480fedf03 100644
--- src/hg/hgTables/userRegions.c
+++ src/hg/hgTables/userRegions.c
@@ -1,57 +1,60 @@
 /* identifiers - handle identifier lists: uploading, pasting,
  * and restricting to just things on the list. */
 
 /* Copyright (C) 2011 The Regents of the University of California 
  * See kent/LICENSE or http://genome.ucsc.edu/license/ for licensing information. */
 
 #include "common.h"
 #include "linefile.h"
 #include "hash.h"
 #include "cheapcgi.h"
+#include "htmshell.h"
 #include "cart.h"
 #include "jksql.h"
 #include "trackDb.h"
 #include "portable.h"
 #include "hgTables.h"
 #include "trashDir.h"
 #include "hui.h"
 #include "obscure.h"
 #include "userRegions.h"
 #include "web.h"
 
 static int maxRegions = 1000;
 static int maxErrors = 100;
 
 void doSetUserRegionsAfterOpen(struct sqlConnection *conn)
 /* Respond to set regions button. */
 {
 char *oldPasted = cartUsualString(cart, hgtaEnteredUserRegions, "");
 char *db = cartOptionalString(cart, hgtaUserRegionsDb);
 if (db && !sameString(db, database))
     oldPasted = "";
 hPrintf("<FORM ACTION=\"%s\" METHOD=%s "
         " ENCTYPE=\"multipart/form-data\" NAME=\"mainForm\">\n", getScriptName(),
         cartUsualString(cart, "formMethod", "POST"));
 cartSaveSession(cart);
 hPrintf("<TABLE><TR><TD ALIGN=LEFT>\n");
 hPrintf("Paste regions:");
 hPrintf("</TD><TD ALIGN=RIGHT>");
-hPrintf("Or upload file: <INPUT TYPE=FILE NAME=\"%s\">&nbsp;<BR>\n",
+hPrintf("Or upload file: <INPUT TYPE=FILE NAME=\"%s\" aria-label='Upload region definitions file'>"
+	"&nbsp;<BR>\n",
 	hgtaEnteredUserRegionFile);
 hPrintf("</TD></TR><TR><TD COLSPAN=2 ALIGN=LEFT>\n");
-cgiMakeTextArea(hgtaEnteredUserRegions, oldPasted, 10, 70);
+htmlPrintf("<TEXTAREA NAME='%s|attr|' ROWS=10 COLS=70 aria-label='Paste regions'>%s</TEXTAREA>",
+    hgtaEnteredUserRegions, (oldPasted != NULL ? oldPasted : ""));
 hPrintf("</TD></TR><TR><TD COLSPAN=2 ALIGN=LEFT>\n");
 cgiMakeButton(hgtaDoSubmitUserRegions, "Submit");
 hPrintf("&nbsp;");
 cgiMakeButton(hgtaDoClearSetUserRegionsText, "Clear");
 hPrintf("&nbsp;");
 cgiMakeButton(hgtaDoMainPage, "Cancel");
 hPrintf("</TD></TR></TABLE>");
 hPrintf("</FORM><BR>\n");
 webIncludeHelpFile("hgTbUserRegionsHelp", FALSE);
 }
 
 void doSetUserRegions(struct sqlConnection *conn)
 /* Respond to set regions button. */
 {
 htmlOpen("Enter region definition\n");