Web form design: is the “required” asterisk design or content?
You’ve seen it on just about every halfway-decent web form out there: “Required fields are marked with a *.” And then, next to required fields, the little, bold, colorful asterisk telling you you’d better put something in this textbox. (Or, in some cases, a bold field name, an outline or background color on the field, etc.)

Yep, you gotta provide your email address.
While building a web form for a client recently, I got into a discussion with other designer friends about the semantic role of those little asterisks: are they part of the form’s essential content, in which case they should be part of the HTML, or part of the form’s usability design, in which case they should be part of the CSS?
One argument is that they’re pure design: the form’s content should merely be the fields and the labels that are essential to understanding what information is being requested. The form will function fine without any required-field indicators, and if a user doesn’t provide a value for one of them, the server-side software will give them an error message. This is the most basic type of functionality, and it’ll work in any web browser, CSS or no. Adding asterisks to indicate which fields are required merely enhances usability, but isn’t necessary to convey the information the form presents.
The counter-argument I was given was that the asterisks are essential content: the form isn’t conveying its full meaning without telling users which fields are required and which are optional. Design aside, it’s necessary from the most basic level to let the end-user know exactly how much information they need to provide.
I’m sure you can tell that I agree with the design argument; I can’t even fully flesh out the content argument, because I don’t completely understand it. However, I’m willing to believe that it’s a valid perspective. Which argument do you agree with, and why? Can you provide a more thorough argument for one side or the other?