651f959d7553ee0256b1e0b37ffa83d64709511d lrnassar Mon Mar 16 17:57:16 2026 -0700 Adding accessible labels to form controls across main CGI pages. Extends cheapcgi and hui libraries with aria-label support for track visibility dropdowns, and adds <label> elements to hgBlat, hgTables, hgPcr, and hgGateway form controls. Also adds Form Control Labels section to accessibility page. refs #37253 diff --git src/hg/inc/hui.h src/hg/inc/hui.h index 4dae902247f..6eb630cc7e6 100644 --- src/hg/inc/hui.h +++ src/hg/inc/hui.h @@ -207,30 +207,38 @@ enum trackVisibility hTvFromString(char *s); /* Given a string representation of track visibility, return as * equivalent enum. */ enum trackVisibility hTvFromStringNoAbort(char *s); /* Given a string representation of track visibility, return as * equivalent enum. */ char *hStringFromTv(enum trackVisibility vis); /* Given enum representation convert to string. */ /* Standard width for visibility dropdowns */ #define TV_DROPDOWN_STYLE "width: 70px" +void hTvDropDownClassVisOnlyAndExtraWithLabel(char *varName, enum trackVisibility vis, + boolean canPack, char *class, char *visOnly, + struct slPair *events, char *label); +/* Make track visibility drop down for varName with style class, optional aria-label, + and potentially limited to visOnly */ +#define hTvDropDownClassVisOnlyWithLabel(varName,vis,canPack,class,visOnly,label) \ + hTvDropDownClassVisOnlyAndExtraWithLabel(varName,vis,canPack,class,visOnly,NULL,label) + void hTvDropDownClassVisOnlyAndExtra(char *varName, enum trackVisibility vis, boolean canPack, char *class, char *visOnly, struct slPair *events); /* Make track visibility drop down for varName with style class, and potentially limited to visOnly */ #define hTvDropDownClassVisOnly(varName,vis,canPack,class,visOnly) \ hTvDropDownClassVisOnlyAndExtra(varName,vis,canPack,class,visOnly,NULL) void hTvDropDownClassWithJavascript(char *varName, char *id, enum trackVisibility vis, boolean canPack, char *class, struct slPair *events); /* return a NULL-terminated array of char* with possible track visibilities */ char** hTvGetVizArr(enum trackVisibility vis, boolean canPack, char* visOnly); /* Make track visibility drop down for varName with style class and javascript */ #define hTvDropDownClass(varName,vis,canPack,class) \