The label element is still in use, and I hope it stays that way (people with disabilities are especially grateful to them).
A clear semantic relationship between the input element and the label allows the screen reader to clearly indicate to the user what information should be entered on which input data.
As for display: none on it, I'm not sure if this will still be read. If not, you can try text-indent: -9999px .
Fangs is a good screen reader emulator to check this out. It requires FireFox.
While on the topic of accessibility, you can include this input in HTML5 search input .
Browsers that support it will semantically know what it is, since it cannot get it out of your class / id / label / etc.
Update
I am trying to just use this description for screen reading. I donβt want my regular visitors to see it, because any text in this search page distracts from the style of the page.
You can use the HTML5 placeholder attribute, this will display the text inside the element that describes what it does (search in this case). It is not widely supported, but there is JavaScript that emulates it (I wrote a jQuery plugin that does this).
The last thing I like to put label { cursor: pointer } in my CSS is to help users know that it is clickable (very useful for checkboxes and radio boxes).
alex
source share