Where '<type>' is the field type (text, number, tag, checkbox, etc.). The -required class highlights required fields for the > user. The -error class shows the field when it has an error (missing or fails match in current design).
Each table row has an ID of the field name (or the first field name on the row, if there are several).

means ID, we don't want to pollute HTML namespace with user customizable IDs. I propose using classes. In addition to type classes, it would be also nice to add classes for field names, so that people can style individual fields and not only different types.

Other than creating eye-candy websites? Can be for example aligning some text fields to right, while other to left, or having different background colors depending on how important is the field, or who is the right person to fill it (for example: bug reporter fills gray fields, bug assigner yellow fields and bug resolver green). Or things as stupid as having bigger font for important fields, while keeping it small for "some related data", think of car market, when you want a few information to be emphasized (brand, year, diesel/gas) and some not (like additional equipment).

And giving the possibility to create eye-candy websites, where users want to have total control on how certain fields look like.

Also, should not be hard to do and allows easy styling so why not to do it?