Because today is Towel Day and because it’s just you and me, I can write about stuff I couldn’t say on a large platform like our Webmaster Central Blog. For example, I can write that:
And you can scream at me, “But I do it for accessibility! You’re mean, I’m nice!”
And that may be true. Another truth is that using “text-indent: -9999px”, or hiding text (keeping text out of the user’s sight in a browser), is common spammer’s technique to hide off-topic keywords and/or links to manipulate search engine rankings.
Example of “text-indent:-9999px” to hide unrelated links and boost PageRank to those sites. Search engines will never notice!
Google has top-secret algorithms designed to detect when text is hidden/positioned off screen. If this type of hidden text is detected, our important red phone rings, and this becomes one of the signals that may cause us to believe your site is deceptive.
Given that Google only wants to return the most relevant sites to users, if we consider your site deceptive, its rankings may be negatively affected.
So what should a webmaster do?
Try to hold the line — avoid hiding text. We’re trying to find an elegant solution. And once we do, I’ll write an official post.
What solutions are being considered?
With HTML5, my friend Ian Hickson shared a few possibilities that could satisfy both webspam and accessibility needs:
- Hide content from screen users but show it to screen reader users.
Use media-specific CSS, e.g. @media speech { } vs @media screen { }.Caveat: Not yet implemented by screen readers.
- Hide irrelevant content, such as hiding a login form once the user is logged in.
Use HTML5’s hidden=”” attribute.Caveat: This was just drafted a few months ago. I’ll get Ian’s latest take on the subject once he returns from paternity leave. Congrats, Ian!
Happy Towel Day, everyone!
Update made later on towel day: Luigi Montanez and I have some crazy connection. He just posted on the same friggin text-indent topic (enjoy my anchor text, Luigi!). Suddenly all that was impossible is possible.