0

I'd like to better understand these two HTML5 content models. They don't really seem to offer anything.

Isn't Flow the same as HTML4 inline? What like just stick with the name inline?

As for Sectioning, (article, aside, nav, section), why does that matter? If I want to create a section, I'll use that tag. When I use article, aside, and nav, I'm not thinking of sections (because there is a section tag for that). I'm focused on independent content, tangential content and navigation. How does knowing that these are sectioning tags help a developer or offer any benefit?

4thSpace
  • 43,672
  • 97
  • 296
  • 475
  • From the specs, sectioning content is a strict subset of flow content - so no, it's not the same as inline. According to MDN, flow content is roughly equivalent to block, and phrasing content is roughly equivalent to inline. https://developer.mozilla.org/en-US/docs/HTML/Block-level_elements – Sam Dufel Apr 04 '14 at 20:29
  • That does sound right at all. From the HTML 5.1 spec, the a, img, and label tags are all flow. As you know, they are also inline. The HTML 5.1 spec doesn't say anything about one being a subset of the other. – 4thSpace Apr 04 '14 at 20:35
  • http://www.w3.org/html/wg/drafts/html/master/single-page.html#kinds-of-content - There's a handy chart, and if you read the lists of flow and sectioning elements, you can see that all sectioning elements are also flow elements. – Sam Dufel Apr 04 '14 at 20:40
  • I wasn't saying section isn't a subset of flow. All the content models are a subset of flow. I was saying the above tags are not block, which are you saying they are. – 4thSpace Apr 04 '14 at 20:55
  • Sorry, typo - that was supposed to be sectioning -> block, not flow -> block – Sam Dufel Apr 04 '14 at 21:02
  • `flow` is at least as old as HTML 2. Open http://www.rfc-editor.org/rfc/rfc1866.txt, which is the HTML 2 spec, and search for `% flow`, which appears in the DTD section, and describes a category of content effectively equivalent to the concept of `flow content` in HTML5. In fact, if you look closely, you'll see that while `block` is there, `inline` is not. HTML 2 uses `text` instead for the equivalent content model. `inline` as a content model doesn't appear until HTML 4. – Alohci Apr 05 '14 at 00:34
  • ... but `block` and `inline` describe *presentational* modes, so they don't belong in a semantics based language like HTML at all. Since they don't appear in HTML5, the terms have become exclusively CSS concepts where they belong. This also has the benefit of removing the confusion between the HTML and CSS concepts of `block` and `inline`, which though related, had important differences. – Alohci Apr 05 '14 at 01:00

0 Answers0