Posted by hachesilva on December 15, 2012 at 11:24pm
I recently found that Drupal uses a lot of nested HTML elements with the same classnames, then, in CSS, elements are targeted very specifically. For example take a look at this:
<div class="tabledrag-changed-warning messages warning">
<span class="warning tabledrag-changed">*</span> Changes made in this table will not be saved until the form is submitted.
</div>
div.warning {
background-image: url(../../misc/message-24-warning.png);
border-color: #ED5;
}
As far as I know, over-specific selector are just plain wrong. It should be styled just as:
.warning { ... }
BUT... there is a .warning element inside another and it would render ugly (go try it). There's tens of examples I can referer to.
Where should I change this? Should we suggest core module developers to edit these kind of things or is it a theme issue and should be resolved by us themers?

Comments
Up to you...
I would say it's up to you the themer to change the markup to your liking. The defaults have often been called bloated. I think it's often done in an attempt to satisfy the measses like most defaults in the world. If you don't like it, simply change it - that, in my opinion is the power of Drupal.