views:

110

answers:

4
+7  A: 

I would use a table for the lower portion because in my opinion this is tabular data. I see 4 columns (icon, project name, project description, and action buttons). I don't see any reason to not use a table for this layout (not to mention that any other approach that would make this layout scale properly would require JavaScript and a lot of headaches to work right).

Andrew Hare
Without column headings though I am violating a rule of semantic markup?
ahsteele
@ahsteele you can add the headings ... and hide through css - which would be a styling decision, your html doesn't need to suffer because of it
eglasius
Technically yes, but good web development is a balancing act between idealism and pragmatism.
Andrew Hare
@Freddy - Excellent suggestion!
Andrew Hare
@OP: I would also use tables. I'm not sure what you mean by "...headers would look conspicuous..." -- so don't include headers. :-) Trying to do this without tables in any kind of broadly-browser-compatible way will be complex, difficult to maintain, and error-prone -- e.g., not a useful way to spend valuable development time. Someday CSS will be both up to it in a *reasonable* way and the necessary features for it will be well-enough supported, but while there may be an argument today for the former, there isn't for the latter. Don't waste your time.
T.J. Crowder
@ahsteele: "Without column headings though I am violating a rule of semantic markup?" No, headerless tables are fine for this sort of thing. Moreover, "semantic markup" (outside academia) is just a guideline and is much more important for textual data than this sort of presentation.
T.J. Crowder
+1  A: 

I don't think it would be the most egregious violation of semantic markup if you put that stuff in tables. Except for the buttons, it looks pretty tabular to me. I think the CSS gods would absolve you :)

mgroves
as Andrew said in his answer - the buttons belong to an actions column
eglasius
A: 

You're not violating anything putting that in a table form. Sure, some people will whine about it, but it's close enough to tabular data that you may as well.

Eugene Bulkin
+1  A: 

I agree with Andrew. This is tabular data so you should use a <table> but keep in mind that you should define table headers, columns, and footers properly.

Your other option is to go with a headerless table where you would use a <div>for the header and footer and a <table> as the body. However, I don't recommend doing this. One reason would be you would want headers for things like client-side sorting if you're using JavaScript.

pixelbobby