@Crumbly Writer(I'm substituting square brackets for angle brackets here because the forum doesn't handle literally quoted HTML well.)
As I've mentioned here before, I write directly in HTML in a simple text editor, so all of my markup is hand-coded. I strictly enforce the separation between logical structure and physical formatting — HTML is for logical structure; translating logical structure to physical formatting is the job of the CSS. (Violation of that rule is one of the reasons that machine-generated HTML is usually such a hideous mess.) I include an external fiction.css stylesheet in almost all of my fiction writing, that contains a bunch of my formatting preferences and standard style stuff that isn't covered by defaults, and most stories also have a story-specific stylesheet with formatting specific to that story.
I basically never use the [i] tag. It's physical formatting; physical formatting belongs in the CSS. And I don't use [em] as just "the italic tag, but written [em] instead of [i]". Getting italics in my text is accomplished in one of a number of different ways, depending on the reason for the italics.
If I'm actually using italics for emphasis, I use the [em] tag, which has "font-style: italic;" as part of its default visual formatting. Sometimes I hang extra formatting on that in the story stylesheet. For example, the story stylesheet for my recent NaNo sets it to light gray text on a black background, and I have entries in it that set [em] to a brighter gray, and [strong] to full white, in addition to their usual italicizing and bolding effects, which is not the case for any of the other ways things might end up italicized or bolded, so emphasized text is visually distinct from, say, movie titles.
Titles I mark up with the [cite] tag, and use things like [cite class="movie"] or [cite class="song"], with the former using the default italic formatting, and the latter with the fiction.css containing:
cite.song {
font-style: inherit;
quotes: "'" "'";
}
cite.song::before {
content: open-quote;
}
cite.song::after {
content: close-quote;
}
... so that it doesn't italicize, but is enclosed in quotes (single quotes; in fiction, I reserve double quotes for dialogue, and some odd corner cases with nested quotes).
Foreign language text I mark up like [span lang="es" title="Hello!"]¡Hola![/span], and the CSS includes:
span[lang] {
font-style: italic;
}
... so any [span] that I've tagged with a language gets automatically italicized, and standard browsers give a pop-up translation on hover. Because italics are so overloaded, I've started experimenting with other methods of marking languages, like using a Roman typeface instead of italics for lang="la", or a script font for lang="ar".
Ship names I mark up like [span class="shipname"]Titanic[/span], and have the CSS set to italicize span.shipname.
Direct thoughts I mark up with [q class="thought"], and have the CSS set to:
q.thought {
font-style: italic;
quotes: "" "";
}
I do the same thing with telepathy, but I set the quotes to "*" instead of removing them.
I've taken to using the [q] tag instead of typing literal quotation marks for regular dialogue, too. It's got a couple of advantages... for one, it makes the browser do smart-quotes correctly, which I can't literally type (or not easily, anyway) in my text editor. It also allows simple tagging of dialogue with character names, if you want to apply formatting quirks to a specific character's speech. For example, if you were PTerry, you could tag dialogue as [q class="Death"]There is no justice. There is just us.[/q] and put in the CSS:
q.Death {
font-variant: small-caps;
}
If I want a whole section italicized because it's a dream or the like, I'll enclose the whole section in [div class="dream"] and set the CSS to italicize div.dream, and to de-italicize things like div.dream em.
... and so on.
Basically the only time I'd ever actually use the [i] tag is if something is italicized for no goddamn reason. Like if I were literally quoting a typographer's nightmare of a sign that has lines italicized just because, and wanted to convey that effect, I'd use the [i] there. It's physical formatting that has no logical justification, so use of the physical formatting tag is appropriate.