Your description lacks detail or a working example, so instead of trying to offer a solution all I can offer is this: aria-label does not work on
A
Without knowing the use, I have two suggestions which might help:
Put the aria-label directly on the control (knowing it will override the text of the control).
Use some off-screen text if you want it to be encountered only by screen reader users.
Use an off-screen technique:
Here be redundant or extraneous content
The CSS might look like this (accounting for RTL languages too):
.SRonly {
position: absolute !important;
clip: rect(1px 1px 1px 1px); /* IE6, IE7 */
clip: rect(1px, 1px, 1px, 1px);
top: auto;
left: -9999px;
width: 1px;
height: 1px;
overflow: hidden;
}
html[dir=rtl] .SRonly {
left: inherit;
left: unset;
right: -9999px;
}
There are other techniques, but their value depends on your audience and its technology profile.
Your use of autofocus on those