I would like to start a discussion about WYSIWYG (What You See Is What You Get) editing with more "intelligence" to it. Currently, the problem with offering WYSIWYG editing to the unwashed masses is that they have no idea how to use it. For example, I once had a page where an HTML file was embedded to allow the site owner to update the content themselves. No problem, right? Well, it included an ordered list <ol> with 4 items, and the site owner wanted to add a new item 5 to the end, using something like FrontPage. What did they do? Create a new paragraph, type in bold 5., type in the text, and complain that the new item didn't left align with the rest of the list!
The problem here is that the site owner, like probably 99% of all owners, didn't know squat about HTML, and the WYSIWYG editor they used didn't enforce any restrictions. If they wanted to extend an ordered list, the editor should guide them into adding a new list item <li> rather than allowing them to do just anything. I could envision an editor where the cursor is over the ordered list, and the background changes slightly and there is a pop-up telling the user that they are over an ordered list — would they like to change, move, delete, or add an item? It would not permit (at least, not without a lot of pain and confirmation messages) them to add a paragraph at an arbitrary location. If they were within a list item at this point, they would be reminded that they are creating a paragraph within that list item, rather than adding a new item.
Of course, lots of people don't pay attention to notices and warning signs. it's still possible that somehow they will force a paragraph for a new item 5, so it needs to be possible to 1) warn them that they may be breaking the structure, and 2) make it easy to correct their mistake, by turning the paragraph into a <li>. We should probably leave responsibility for deleting the hard-coded item number to the person doing the editing.
is it feasible to enforce (or at least, firmly guide) having compatible markup so that list structures, etc. can be maintained? The editor would have to know where they are on the page, and within what control structures, to know what things are allowed. It should be possible, at least with some annoyance and pain, to do almost arbitrary things, such as splitting a list item into paragraphs. That's legitimate, but it should not be easy to accidentally do that when the intent is to add a new list item, for example. Remember — most people editing a page will have no idea what the underlying HTML structure is.