In reply to Nick DerAvedissian.

This is a multi faceted conversation so I'll see if I can broach the main topics you brought up Nick:

First off there is an overarching question about how much control a user should have to do things. In an ideal world all themes should ship with easy to use functions that allow the user to do what she/he wants within the framework of the design of that theme. When a user installs a theme it is because she/he likes the appearance. If the user then uses an external function like the one we are discussing to change that appearance the original intent of the designer is breached and that can be argued to be a bad thing. That's not to say the user shouldn't be able to make the changes they desire, it means theme developers need to provide the necessary tools to help the user do what she/he wants within the framework of the overall design of the theme.

In a practical sense this means shipping the theme with classes for borders that match the design and ensuring that images are floated and positioned properly so the user doesn't have to manhandle the content. The onus here is squarely on the theme designer and developer.

I can't speak for WordPress.com nor the developers behind TinyMCE. What I can say is that inline styles should not be used for adding borders and margins to images under any circumstances. The reasons for this are clearly stated in Jeff's article above and in my article on the same topic (http://mor10.com/using-css-classes-fields-wordpress/). The fact that this feature has been shipped in WordPress up until now is not an argument for keeping it in core. Historical wrongs are not good reasons for continuing those wrongs. As to why WordPress.com is recommending the use of this feature it has to do with the fact no better solution is available. We can work on that to fix it permanently.

To the question of whether a user should be forced to learn CSS you are absolutely correct: Demanding that a user learns CSS is ridiculous and goes against the intent of WordPress. However, WordPress also has a responsibility to ensure it teaches users to do things the right way. Inline styles is the wrong way and for that reason alone they should and have been removed.

Finally, here is a practical example of why inline styles are wrong in most cases and this case in particular:

Say my friend Maiken is using a high contrast theme with a white background and hard black lines. A lot of the pictures she posts have a white background as well so she uses inline styles to add a black border around them. Then one day she changes to a new theme that has much softer contrast and in which all images have a grey border by default. Now all her old images with the hard black border have two borders: the grey one applied by the theme and the hard black one inserted through inline styles. And the hard black border looks terrible in her theme. Because the styles are individually applied to each image she now has two choices: Go back into each individual post, find each individual image, and remove the inline styles, or don't use the theme she just switched to.

This is a terrible situation that a lot of people who use this feature will find themselves in and it is caused by the use of inline styles. Had the user been instructed to use a class instead the theme designer of the new theme could ship a class that overrides the hard black border for a softer one and Maiken wouldn't have to do any work after the update.

The situation with margins is far worse and can cause a whole slew of frustrating problems that make the border example above seem like a non-issue.

Bottom line is while the sudden unannounced removal of the feature could have been handled in a better way the removal of the feature itself was not a bad thing. What we should focus on is finding a better solution that gives theme designers and developers control over borders and positioning while allowing the user to apply them where necessary. That is user friendly, standards compliant, and future proof which in the end should be the goal for anything that happens in WordPress.