views:

233

answers:

8

True or not: We should always use proper capitalization and never put whole sentences in all-uppercase. If we must do so, we should use CSS for this task."

Should we use the CSS property text-transform for other cases if we need them?

(Note that I'm not talking about HTML tags, I’m talking about text content.)

links to read :

http://blog.mauveweb.co.uk/2009/01/14/dont-use-uppercase-in-html/

http://www.webaim.org/techniques/fonts/#caps

+13  A: 

Huh? For normal text? That sounds like a ridiculous idea to me. Every language has its rules about what's lowercase and what's uppercase. Why would one want to divert from that?

Update: Sorry Jitendra, I didn't read your update closely. Now this

I head Screen reader spell letter by letter if we use UPPERCASE.

could well be - say, for USA to be spelled like U S A. I could imagine some screen readers do this. But this would only mean not to put words in ALL CAPS - which is a rule you would want to follow anyway.

Having all text in lowercase and uppercasing the right words through text-transform, you would have to put a CSS class on every word that needs to be capitalized - extremely cumbersome, would result in horribleHTML soup, and wouldn't make sense. Just use normal capitalization, and don't use all caps.

Pekka
read this http://blog.mauveweb.co.uk/2009/01/14/dont-use-uppercase-in-html/
metal-gear-solid
and read this also http://www.webaim.org/techniques/fonts/#caps
metal-gear-solid
@jitendra: You should include the links in the question. Please correct me, if I'm wrong, but after reading both, I tend to interpret your original question like this: "True or not: We should always use proper capitalization and never put whole sentences in all-uppercase. If we must do so, we should use CSS for this task." My previous interpretation, however, was: "True or not: We should put text *always* in all-lowercase, because capitalization is not supported by some software."
Boldewyn
@Boldewyn - Thanks for suggestion
metal-gear-solid
+3  A: 

The W3C states that all XHTML elements and attribute names should be in lowercase:

XHTML documents must use lower case for all HTML element and attribute names. This difference is necessary because XML is case-sensitive e.g. <li> and <LI> are different tags.

As for web page content in between tags, of course it is not necessary.

James
Yes this too is true, for XHTML. I don't believe that HTML5 cares.
Pointy
Right, but not the **content**, just (as the quote says) the names of elements and attributes.
T.J. Crowder
XHTML5 cares; HTML5 doesn’t.
Paul D. Waite
@Paul D. Waite XHTML5 is also dead.
ceejayoz
he is talking about content. you are correct, but answering the wrong question
WalterJ89
@ceejayoz: in what sense is XHTML5 dead? It’s in the spec: http://dev.w3.org/html5/spec/Overview.html#html-vs-xhtml
Paul D. Waite
@Paul D. Waite Sorry, I confused XHTML2 with XHTML5. NM me!
ceejayoz
@ceejayoz: :) easily done. If you flip the 5 upside down it sort of looks like a 2 as well.
Paul D. Waite
A: 

yes you should, if you would like to modify the text letters use the css property text-transform http://www.quackit.com/css/properties/css_text-transform.cfm

antpaw
what? why would somone want to do this? not enless you want the whole block of text to be caps
WalterJ89
WTF? You can modify any case of letters using text-transform, there's no need (nor any good reason) to make them lowercase prior!
ceejayoz
lol, are you serious? well maybe i didn't understand the question right :(
antpaw
+4  A: 

It's generally a good idea to concentrate on what's easy for people to read. Almost always, for almost all sorts of information presentation, conventional typographic rules for the language of the site are appropriate, and you should not do anything different without having a really good reason.

Pointy
+7  A: 

You should write content of a page with proper grammar, spelling, and capitalization just as you would in an essay. Navigation and logos should start with an Uppercase (or if it's a name, the proper spelling for the name, e.g. iPhone, not Iphone or IPhone.) Only use CSS capitalization for stylization. So, if you want your site's name to be in all caps (MY WEBSITE) use CSS to make it all caps, but in the HTML make sure it's proper (My Website).

Hope this helps!

Oscar Godson
+1  A: 

It has nothing to do with screen readers. For actual content, you should use normal capitalization. For element names and attributes, you must use lower case if you're using XHTML, because it's case-sensitive and the spec says the tag names and attribute names are lower case. These are two completely different things (content vs.markup).

Edit Re your edited question: You should avoid incorrect use of ALL UPPER CASE TEXT (that would be an example of incorrect use), because screen readers may well spell that out on the theory that it's an acronym like HTML or W3C. But not doing ALL CAPS is not the same as doing all lower case. Use initial capitals at the beginnings of sentences, etc. Don't use ALL CAPS for emphasis, use <em> (or <strong>, depending on the type of emphasis). Doing so marks up your text semantically, which actually helps the screen reader do its job (by allowing it to put emphasis where it should be put).

T.J. Crowder
+1  A: 

I'm not talking about HTML TAG i'm talking about text content? I head Screen reader spell letter by letter if we use UPPERCASE.

my question was "Should we always use lowercase text in web page's content?" and use css text-transform for other cases if we need.

Just use natural text, as you did in your SO question. Screen readers will generally read ALL UPPERCASE as individual letters, as such text is generally an acronym (it'll likely vary from reader to reader - some handle things more intelligently than others, and may be able to figure out that a whole sentence isn't likely to be an acronym).

You don't have to lowercase every letter, though - a screen reader shouldn't have any problem with "This Is A Sentence."

UPPERCASE text that isn't an acronym should be done with CSS's text-transform: uppercase;.

ceejayoz
+1  A: 

Jaws does not spell out words if they are recognized as English words. FOR EXAMPLE "THIS IS PRONOUNCED NORMALLY." sounds the same as "This is pronounces normally." When dealing with abbreviations capitalization matters. For example "usa" is pronounced phonetically as one syllable. “USA” is pronounced as “u s a” Made up words tend to be pronounced the same regardless of capitalization, for example “FDIOSUF” is pronounced the same as “Fdiosuf”

Jared
see here http://blog.mauveweb.co.uk/2009/01/14/dont-use-uppercase-in-html/
metal-gear-solid