Re: Region-break flow reorder (solution to Head of Line blocking)

François,

This use-case is one of the motivations behind the available-content section of my page-templates proposal. There the idea is that a figure like this would be moved into a separate named flow, but when choosing page templates a decision is made whether the next figure in that separate flow would have been associated with the next page's worth of content from the main flow. If it is, then a template with a slot for that figure is chosen, and the space for the main flow adapts to accommodate the figure. That part of the proposal (which is an unofficial draft, not yet taken up by the CSSWG) is the least well defined so far, though.

Some parts of this case are addressed by Adobe's digital publishing suite, so it's definitely a problem we're looking to solve.

Thanks,

Alan

From: François REMY <fremycompany_pub@yahoo.fr<mailto:fremycompany_pub@yahoo.fr>>
Date: Tue, 8 May 2012 05:21:11 -0700
To: CSS 3 W3C Group <www-style@w3.org<mailto:www-style@w3.org>>
Subject: Region-break flow reorder (solution to Head of Line blocking)

When you have a content flow, and regions accross which the content is divided, you inevitably face one difficulty: some elements are too big to fit in the current region, causing a region break, but they are also big enough to make the wasted space important enough for you to want to reclaim it: you would like to “smartly” reorder the content of your flow to avoid HoL blocking. This issue arise a lot with images, for example.

Flow document vs Paged document :

[cid:48A474EC1BE8422D8997F60CE0A569D9@FREMYD2]   [cid:6F627708C86C4369AABB97CE24B657FD@FREMYD2]

Reclaming the lost space could be very nice, especially if the exact location of the image doesn’t matter in your context. Here’s what it could look like :

[cid:2413C9B6FC6F4686A5DE6D40F36A719C@FREMYD2]

Sometimes, you may also want to print a replacement content in case of reorder (for exemple a box saying the figure has been moved to next page) :

[cid:2D48729F08234ED9B990B0B43FBBC767@FREMYD2]

Here’s an first-attemp proposal to solve the problem :

    figure {
        flow-reorder: allow;
    }

    figure::flow-placeholder {
        diplay: block; text-align: center;
        color: gray; content: ‘See next page for illustration’;
    }

Something maybe interesting would be to make it possible to prohibit cross-chapter reordering (ie: an H1 would never be allowed to be put before any item whose flow reorder is scoped to ‘chapter’).

    figure {
        flow-reorder: allow inside ‘chapter’;
    }

    h1 {
        flow-flush-before: ‘chapter’;
    }

Maybe people working at Adobe have a better vision on how to solve this problem, I guess it’s quite common in real life.
François

Received on Wednesday, 9 May 2012 00:25:33 UTC