[development] Drupal 5.0 Theme - v2
Gary Feldman
dpal_gaf_devel at marsdome.com
Fri Sep 29 22:04:34 UTC 2006
Morbus Iff wrote:
> You simplify it greatly. The intent of CSS is to separate the
> presentation of a document with its structure. No longer, for ...
>
> This is (relatively, for a quick example) strong document structure:
> each div has a meaning, and has been given a CSS class that represents
> its presentation. From the DOM standpoint, it is easy for us to, say,
> style just chapter, just the first chapter, just the section of
> chapter one, or what have you. With XSLT or an XML capable browser, we
> can query the model to "give us all chapters" or "give us all
> contents". From a jQuery standpoint, we can do the same thing. This is
> a strong DOM.
>
> Rounded corners, when implemented as CSS, traditionally pollute this
> DOM, in much the same way that all the empty
> ...
> some presentation to them. They are presentation logic, mucking up my
> document structure. Much like the empty
Pedantry aside, this remains a religious argument. Terms like "pollute"
and "mucking" are subjective, emotional terms that do not directly
represent anything of objective value. Taking your example, it is still
possible to query the DOM to find all chapters or contents.
> And *that* is why I -1 to rounded edges, unless they are applied via
> jQuery, which does NOT mess with the DOM in a way that negatively
> affects my document (the modifications are applied by the client
> software, at user request, NOT hardcoded into the document itself).
And here's the flaw: It's not your document; it's a transient, internal
representation.
The separation of presentation from content makes perfect sense when the
HTML is the data. And that's the way things were in the early days, or
with tools like FrontPage. But that's not the case for Drupal, where
the data model is the SQL, and the presentation layer is the theme. The
HTML generated by the theme is then presentation, along with the CSS.
Issues such as whether the login block goes into the same sidebar as the
calendar or the recent posts are captured by the HTML. Yes, clever
enough CSS can rearrange divs from their natural order in the HTML, but
that just illustrates the absurdity of taking a hard line. Decisions
around which text can be displayed in alternative fonts are captured by
<span> and related tags; these frequently have underlying semantics, but
not necessarily. Or you get into arguments over whether a decision to
visually emphasize a word is a semantic or presentational issue.
Rather than going down this rathole, it just makes more sense to deal in
real value. Does using clever HTML/CSS for rounded corners make it
harder to maintain the theme? more so than other CSS cleverness? Does
it create problems for the person looking at it? Is it harder to do
client-side JavaScript because of is? In other words, focus on the
impact on people, and not the impact on theoretical models.
Gary
More information about the development
mailing list