Re: [whatwg] Joined blocks

2008-08-13 Thread Kristof Zelechovski
The concept of joint blocks (which should rather be named disjoint canvas)
is relevant mainly to printouts.  As it has already been explained in the
booklet case, HTML is not the primary workhorse for preparing professional
printouts.  Window content is stretchable, unlike a print sheet, therefore
it is easier and more logical to present continuous content in a continuous
block, with an optional IFRAME to make it bounded and locally scrollable.
Note that printouts are usually split into such disjoint canvas called pages
and that HTML has no concept of pagination.
IMHO,
Chris

-Original Message-
From: [EMAIL PROTECTED]
[mailto:[EMAIL PROTECTED] On Behalf Of Shannon
Sent: Friday, August 01, 2008 6:58 AM
To: WHAT working group
Subject: [whatwg] Joined blocks

Something I think is really missing from HTML is linked text (in the 
traditional desktop publishing sense), where two or more text boxes are 
joined so that content overflows the first into the second and 
subsequent boxes. This is a standard process for practically all 
multi-column magazines, books and news layouts. It is especially 
valuable for column layouts where the information is dynamic and 
variable in length and therefore cannot be manually balanced. This is 
not something that can be solved server-side since the actual flow is 
dependent on user style-sheets, viewport and font-size.

For the sake of disambiguation i'll call this joined blocks, since 
linking has its own meaning in HTML and the content need not be text.

I honestly don't know if this is too difficult to implement, however it 
has been a standard feature of publishing software such as Pagemaker and 
Quark Xpress for over 10 years.

The markup would be something like:

div id=col1img src=logo.png 
style=float:rightp/pp/pp/p/div
div join=col1 id=col2/div
div join=col2 id=col3/div

When reflowing, block elements are moved as a whole. If the block won't 
fit then it follows the overflow behaviour of the column. Inline 
elements are split by line.

For backwards-compatibility it must be legal to split the markup over 
each group member (manual or best-guess balancing). However a HTML5 
compliant browser would reflow to other members as though the combined 
markup originated in box 1.

There are two ways to implement this proposal with respect to CSS.
1.) Rewrite the DOM with the new layout. Closing objects that were split 
and propagating attributes.
2.) Rewrite the CSS parser.

Method 1 is probably simpler but has serious issues with the id 
attribute - since it must be unique and therefore cannot propogate to 
both halves of a split object. It could also create undesirable 
behaviour with respect to :first-line, :before and other selectors that 
the author would expect to apply to the element only once. Method 2 
solves most of these issues but it would probably be a significant 
rewrite of current parsers.

I accept this proposal may be difficult to implement but its use case is 
significant with regards to articles and blogs, especially in an era of 
user-submitted content and wide screen layouts.


Shannon



Re: [whatwg] Joined blocks

2008-08-03 Thread Christoph Päper

Shannon:


Something I think is really missing from HTML is linked text


Linked or continued (numbered, ordered) lists have been dicussed here  
a while ago, and were rejected if I remember correctly. They made a  
stronger use case than generic continued texts in my opinion,  
although both could be done the same way, i.e. with IDs and some sort  
of |continue| attribute.


Re: [whatwg] Joined blocks

2008-08-02 Thread Shannon

Tab Atkins Jr. wrote:


This is definitely and distinctly a CSS issue, not a HTML one.  The 
fact that the contents of an element flow into another box elsewhere 
in the page has nothing to do with the underlying structure of the 
data - it's still a single cohesive element, and thus in html it would 
be marked up exactly as normal.  You just happen to be displaying it 
differently.


The accuracy of your statement depends largely on whether the 
specification allows the content source to be defined across all joined 
blocks or only in the first. For example:


div id=col1pfirst para/ppsecond para/p/div
... other unrelated markup ...
div join=col1pthird para/p/div

This markup would be common when the author is trying to support legacy 
or non-CSS browsers. The join attribute allows supporting agents to know 
that conceptually the third para follows on from the second. This might 
be useful for text or audio browsers to correctly concatenate related 
sections of text and for search engines trying to demarcate meaningful 
areas of the page. I strongly recommend that HTML5 define the join 
attribute and then allow the CSS group to define its behaviour in 
relation to visual styles. The 'class' attribute sets a precedent for 
this as it is defined in HTML despite generally having no implications 
beyond being a style hook. CSS cannot currently target elements except 
by their structural alignment to others and in many cases the blocks to 
be joined won't have a simple relationship. Targetting the id of joined 
elements with the 'join' attribute is still required regardless of how 
the CSS rules are implemented and this is the correct forum for new HTML 
attributes.




I've got some ideas in this regard, but we should move it to the CSS 
list, [EMAIL PROTECTED] mailto:[EMAIL PROTECTED].


Already done. The topic is currently waiting on moderation.


Shannon


Re: [whatwg] Joined blocks

2008-08-02 Thread Ian Hickson
On Sat, 2 Aug 2008, Shannon wrote:
 
 The accuracy of your statement depends largely on whether the 
 specification allows the content source to be defined across all joined 
 blocks or only in the first. For example:
 
 div id=col1pfirst para/ppsecond para/p/div
 ... other unrelated markup ...
 div join=col1pthird para/p/div
 
 This markup would be common when the author is trying to support legacy 
 or non-CSS browsers.

I agree that such markup would be common today, but I think that we should 
design the language with the intent to move past this style.

I would much, much rather see documents that section elements for each 
section, and then have the CSS split the section block into multiple 
boxes, than have the markup itself have each final resulting box split 
into different divs.

In the meantime, having blocks split into separate divs is the only way 
forward, but I think we can work around the accessibility problems of this 
by including links to the next part at the end of each block. I don't 
think we should add new features to handle this in HTML, I'd rather add 
them to CSS.

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


Re: [whatwg] Joined blocks

2008-08-02 Thread Russell Leggett
I would be happy to have this as a purely css solution, but if multiple
container elements are required for the content to flow to, would you not
want that relationship in the html? We specify anchors, links, and
relationships in html, why not this? How the flow between blocks should
certainly be controlled by css - when to break between blocks etc., but
there a semantic and structural aspect as well.
-Russ

On Fri, Aug 1, 2008 at 11:00 AM, Tab Atkins Jr. [EMAIL PROTECTED]wrote:

 On Fri, Aug 1, 2008 at 7:28 AM, Russell Leggett [EMAIL PROTECTED]
  wrote:

 For what it's worth, Shannon, I totally agree with you. Not only is this
 something I have been wanted for a long time, but I think it belongs in the
 html. It's one thing if you just want columns, which is being covered here:
 http://www.w3.org/TR/css3-multicol/. The CSS covers that nicely, but
 there are times when the joined blocks are more remote and distinctly not
 columns, requiring the extra markup to control where it must join to.
 However, while useful for complex layouts, this is definitely the much
 smaller use case. I think it would make a great addition, but I suppose
 people have to have priorities! ;)
 -Russ


 This is definitely and distinctly a CSS issue, not a HTML one.  The fact
 that the contents of an element flow into another box elsewhere in the page
 has nothing to do with the underlying structure of the data - it's still a
 single cohesive element, and thus in html it would be marked up exactly as
 normal.  You just happen to be displaying it differently.

 As noted, CSS3 Multi-Column Layout directly addresses the wide use-case of
 dynamic columns, which will be the most common need for this sort of thing.
 However, it's certainly reasonable that one would want more than that, to
 allow the contents of an element to flow to an arbitrary location elsewhere
 on the page.  I could have sworn there was a flow-to property proposed in
 one of the working drafts, but I couldn't find it, so it's possible it only
 existed in my fevered imagination (it's also possible I was misremembering
 the named flows feature in Generated Content for Paged Media [1]).  A
 limited form of this property exists in the Paged Media section of the
 Template Layout module [2], where you can specify a template that spans
 across several pages.  If the contents of a slot would overflow, it instead
 forces a page-break within the slot and flows onto the next page, filling
 the slot of the same name.

 I've got some ideas in this regard, but we should move it to the CSS list,
 [EMAIL PROTECTED]

 ~TJ

 [1] http://www.w3.org/TR/css3-gcpm/#named1
 [2] http://www.w3.org/TR/css3-layout/#templates



Re: [whatwg] Joined blocks

2008-08-02 Thread Russell Leggett
Ignore my last statement. It was a draft I wrote before reading Ian's
response. If he has something in mind to get the same thing accomplished
without adding extra tags, all the better.

On Sat, Aug 2, 2008 at 8:06 PM, Russell Leggett
[EMAIL PROTECTED]wrote:

 I would be happy to have this as a purely css solution, but if multiple
 container elements are required for the content to flow to, would you not
 want that relationship in the html? We specify anchors, links, and
 relationships in html, why not this? How the flow between blocks should
 certainly be controlled by css - when to break between blocks etc., but
 there a semantic and structural aspect as well.
 -Russ


 On Fri, Aug 1, 2008 at 11:00 AM, Tab Atkins Jr. [EMAIL PROTECTED]wrote:

 On Fri, Aug 1, 2008 at 7:28 AM, Russell Leggett 
 [EMAIL PROTECTED] wrote:

 For what it's worth, Shannon, I totally agree with you. Not only is this
 something I have been wanted for a long time, but I think it belongs in the
 html. It's one thing if you just want columns, which is being covered here:
 http://www.w3.org/TR/css3-multicol/. The CSS covers that nicely, but
 there are times when the joined blocks are more remote and distinctly not
 columns, requiring the extra markup to control where it must join to.
 However, while useful for complex layouts, this is definitely the much
 smaller use case. I think it would make a great addition, but I suppose
 people have to have priorities! ;)
 -Russ


 This is definitely and distinctly a CSS issue, not a HTML one.  The fact
 that the contents of an element flow into another box elsewhere in the page
 has nothing to do with the underlying structure of the data - it's still a
 single cohesive element, and thus in html it would be marked up exactly as
 normal.  You just happen to be displaying it differently.

 As noted, CSS3 Multi-Column Layout directly addresses the wide use-case of
 dynamic columns, which will be the most common need for this sort of thing.
 However, it's certainly reasonable that one would want more than that, to
 allow the contents of an element to flow to an arbitrary location elsewhere
 on the page.  I could have sworn there was a flow-to property proposed in
 one of the working drafts, but I couldn't find it, so it's possible it only
 existed in my fevered imagination (it's also possible I was misremembering
 the named flows feature in Generated Content for Paged Media [1]).  A
 limited form of this property exists in the Paged Media section of the
 Template Layout module [2], where you can specify a template that spans
 across several pages.  If the contents of a slot would overflow, it instead
 forces a page-break within the slot and flows onto the next page, filling
 the slot of the same name.

 I've got some ideas in this regard, but we should move it to the CSS list,
 [EMAIL PROTECTED]

 ~TJ

 [1] http://www.w3.org/TR/css3-gcpm/#named1
 [2] http://www.w3.org/TR/css3-layout/#templates





Re: [whatwg] Joined blocks

2008-08-01 Thread Russell Leggett
For what it's worth, Shannon, I totally agree with you. Not only is this
something I have been wanted for a long time, but I think it belongs in the
html. It's one thing if you just want columns, which is being covered here:
http://www.w3.org/TR/css3-multicol/. The CSS covers that nicely, but there
are times when the joined blocks are more remote and distinctly not columns,
requiring the extra markup to control where it must join to. However, while
useful for complex layouts, this is definitely the much smaller use case. I
think it would make a great addition, but I suppose people have to have
priorities! ;)
-Russ

On Fri, Aug 1, 2008 at 1:35 AM, Shannon [EMAIL PROTECTED] wrote:

  I agree this is _mostly_ a CSS issue except that there is semantic meaning
 to the join attribute beyond layout. The attribute could serve as a guide to
 search engines, web-scrapers or WYSIWYG applications that two areas of the
 page should be considered a single piece of content. I am also unsure as to
 how this might affect other aspects of browser, javascript or DOM behaviour.
 There may be other uses or side-effects I can't imagine. At any rate CSS
 cannot associate elements so the join attribute should be considered
 independent of the style considerations as a means of saying this block
 follows that one. Nonetheless I will do as you suggest.

 Shannon


 Ian Hickson wrote:

 On Fri, 1 Aug 2008, Shannon wrote:


  Something I think is really missing from HTML is linked text (in the
 traditional desktop publishing sense), where two or more text boxes are
 joined so that content overflows the first into the second and
 subsequent boxes. This is a standard process for practically all
 multi-column magazines, books and news layouts. It is especially
 valuable for column layouts where the information is dynamic and
 variable in length and therefore cannot be manually balanced. This is
 not something that can be solved server-side since the actual flow is
 dependent on user style-sheets, viewport and font-size.


  I agree that this would be a useful feature for the Web platform. However,
 I believe the CSS working group is a better venue for exploring such
 options. I recommend forwarding your proposal to [EMAIL PROTECTED]







Re: [whatwg] Joined blocks

2008-08-01 Thread Tab Atkins Jr.
On Fri, Aug 1, 2008 at 7:28 AM, Russell Leggett
[EMAIL PROTECTED]wrote:

 For what it's worth, Shannon, I totally agree with you. Not only is this
 something I have been wanted for a long time, but I think it belongs in the
 html. It's one thing if you just want columns, which is being covered here:
 http://www.w3.org/TR/css3-multicol/. The CSS covers that nicely, but there
 are times when the joined blocks are more remote and distinctly not columns,
 requiring the extra markup to control where it must join to. However, while
 useful for complex layouts, this is definitely the much smaller use case. I
 think it would make a great addition, but I suppose people have to have
 priorities! ;)
 -Russ


This is definitely and distinctly a CSS issue, not a HTML one.  The fact
that the contents of an element flow into another box elsewhere in the page
has nothing to do with the underlying structure of the data - it's still a
single cohesive element, and thus in html it would be marked up exactly as
normal.  You just happen to be displaying it differently.

As noted, CSS3 Multi-Column Layout directly addresses the wide use-case of
dynamic columns, which will be the most common need for this sort of thing.
However, it's certainly reasonable that one would want more than that, to
allow the contents of an element to flow to an arbitrary location elsewhere
on the page.  I could have sworn there was a flow-to property proposed in
one of the working drafts, but I couldn't find it, so it's possible it only
existed in my fevered imagination (it's also possible I was misremembering
the named flows feature in Generated Content for Paged Media [1]).  A
limited form of this property exists in the Paged Media section of the
Template Layout module [2], where you can specify a template that spans
across several pages.  If the contents of a slot would overflow, it instead
forces a page-break within the slot and flows onto the next page, filling
the slot of the same name.

I've got some ideas in this regard, but we should move it to the CSS list,
[EMAIL PROTECTED]

~TJ

[1] http://www.w3.org/TR/css3-gcpm/#named1
[2] http://www.w3.org/TR/css3-layout/#templates


[whatwg] Joined blocks

2008-07-31 Thread Shannon
Something I think is really missing from HTML is linked text (in the 
traditional desktop publishing sense), where two or more text boxes are 
joined so that content overflows the first into the second and 
subsequent boxes. This is a standard process for practically all 
multi-column magazines, books and news layouts. It is especially 
valuable for column layouts where the information is dynamic and 
variable in length and therefore cannot be manually balanced. This is 
not something that can be solved server-side since the actual flow is 
dependent on user style-sheets, viewport and font-size.


For the sake of disambiguation i'll call this joined blocks, since 
linking has its own meaning in HTML and the content need not be text.


I honestly don't know if this is too difficult to implement, however it 
has been a standard feature of publishing software such as Pagemaker and 
Quark Xpress for over 10 years.


The markup would be something like:

div id=col1img src=logo.png 
style=float:rightp/pp/pp/p/div

div join=col1 id=col2/div
div join=col2 id=col3/div

When reflowing, block elements are moved as a whole. If the block won't 
fit then it follows the overflow behaviour of the column. Inline 
elements are split by line.


For backwards-compatibility it must be legal to split the markup over 
each group member (manual or best-guess balancing). However a HTML5 
compliant browser would reflow to other members as though the combined 
markup originated in box 1.


There are two ways to implement this proposal with respect to CSS.
1.) Rewrite the DOM with the new layout. Closing objects that were split 
and propagating attributes.

2.) Rewrite the CSS parser.

Method 1 is probably simpler but has serious issues with the id 
attribute - since it must be unique and therefore cannot propogate to 
both halves of a split object. It could also create undesirable 
behaviour with respect to :first-line, :before and other selectors that 
the author would expect to apply to the element only once. Method 2 
solves most of these issues but it would probably be a significant 
rewrite of current parsers.


I accept this proposal may be difficult to implement but its use case is 
significant with regards to articles and blogs, especially in an era of 
user-submitted content and wide screen layouts.



Shannon


Re: [whatwg] Joined blocks

2008-07-31 Thread Ian Hickson
On Fri, 1 Aug 2008, Shannon wrote:

 Something I think is really missing from HTML is linked text (in the 
 traditional desktop publishing sense), where two or more text boxes are 
 joined so that content overflows the first into the second and 
 subsequent boxes. This is a standard process for practically all 
 multi-column magazines, books and news layouts. It is especially 
 valuable for column layouts where the information is dynamic and 
 variable in length and therefore cannot be manually balanced. This is 
 not something that can be solved server-side since the actual flow is 
 dependent on user style-sheets, viewport and font-size.

I agree that this would be a useful feature for the Web platform. However, 
I believe the CSS working group is a better venue for exploring such 
options. I recommend forwarding your proposal to [EMAIL PROTECTED]

-- 
Ian Hickson   U+1047E)\._.,--,'``.fL
http://ln.hixie.ch/   U+263A/,   _.. \   _\  ;`._ ,.
Things that are impossible just take longer.   `._.-(,_..'--(,_..'`-.;.'


Re: [whatwg] Joined blocks

2008-07-31 Thread Shannon
I agree this is _mostly_ a CSS issue except that there is semantic 
meaning to the join attribute beyond layout. The attribute could serve 
as a guide to search engines, web-scrapers or WYSIWYG applications that 
two areas of the page should be considered a single piece of content. I 
am also unsure as to how this might affect other aspects of browser, 
javascript or DOM behaviour. There may be other uses or side-effects I 
can't imagine. At any rate CSS cannot associate elements so the join 
attribute should be considered independent of the style considerations 
as a means of saying this block follows that one. Nonetheless I will 
do as you suggest.


Shannon


Ian Hickson wrote:

On Fri, 1 Aug 2008, Shannon wrote:
  
Something I think is really missing from HTML is linked text (in the 
traditional desktop publishing sense), where two or more text boxes are 
joined so that content overflows the first into the second and 
subsequent boxes. This is a standard process for practically all 
multi-column magazines, books and news layouts. It is especially 
valuable for column layouts where the information is dynamic and 
variable in length and therefore cannot be manually balanced. This is 
not something that can be solved server-side since the actual flow is 
dependent on user style-sheets, viewport and font-size.



I agree that this would be a useful feature for the Web platform. However, 
I believe the CSS working group is a better venue for exploring such 
options. I recommend forwarding your proposal to [EMAIL PROTECTED]