W3C home > Mailing lists > Public > www-style@w3.org > August 2013

Re: [css3-ui] Support cropping in the middle of texts using 'text-overflow'

From: Brad Kemper <brad.kemper@gmail.com>
Date: Mon, 12 Aug 2013 17:33:12 -0700
Message-Id: <BE082A57-9BA0-42CA-A0B5-5E789D17CFD0@gmail.com>
Cc: Kenneth Auchenberg <kenneth@auchenberg.dk>, www-style list <www-style@w3.org>, "tantek@cs.stanford.edu" <tantek@cs.stanford.edu>, "roc@ocallahan.org" <roc@ocallahan.org>
To: Sebastian Zartner <sebastianzartner@gmail.com>
On Aug 12, 2013, at 2:06 PM, Sebastian Zartner <sebastianzartner@gmail.com> wrote:

> On 11 August 2013 22:47, Brad Kemper <brad.kemper@gmail.com> wrote:
>> 
>> On Jul 22, 2013, at 3:59 PM, Sebastian Zartner wrote:
>> 
>>> On 20 July 2013 16:51, Brad Kemper <brad.kemper@gmail.com> wrote:
>>>> On Jul 18, 2013, at 3:09 PM, Kenneth Auchenberg <kenneth@auchenberg.dk> wrote:
>>>> 
>>>>> Great initiative to get this much desired functionality speced out .
>>>>> 
>>>>> Do we know of similar middle text truncation is implemented in platforms, like Mac OSX? 
>>>>> 
>>>>> Would be great with consistency between the web and existing platforms.
>>>>>  
>>>>> 
>>>>> -
>>>>> Kenneth Auchenberg
>>>>> +45 53 22 22 33
>>>>> 
>>>>> 
>>>>> On Thu, Jul 18, 2013 at 11:38 PM, Sebastian Zartner <sebastianzartner@gmail.com> wrote:
>>>>>> As I already proposed earlier[1] there should be a way to allow truncating text contents in the middle.
>>>>>> I was asked to add the current proposal to the W3C wiki to allow further discussion on this. So here it is:
>>>>>> 
>>>>>> http://www.w3.org/wiki/Text-overflow_middle_cropping
>>>>>> 
>>>>>> There are definitely still some unconsidered parts, so it would be great to hear some opinions on this.
>>>>>> 
>>>>>> Sebastian
>>>>>> 
>>>>>> [1] http://lists.w3.org/Archives/Public/www-style/2012Apr/0336.html
>>>> 
>>>> I understand the need for text-overflow-min-width, but I don't really get why we need start, middle, and end values. If text-overflow-min-width is more than zero (1ch, for instance), then the ellipsis or string or clipping would happen in the middle somewhere, and you would not then also want additional ellipsis, strings in other positions (and the clipping would occur as a natural result of where the the one ellipsis or string did go).
>>> The defintion of text-overflow-min-width is not totally correct yet. What's probably expected is to have either start/end truncation or middle truncation, but not both at the same time.
>>> I.e. what it should be able to handle is this:
>>> 
>>> Whole text:
>>> This is some truncated text.
>>> 
>>> End truncation:
>>> This is soˇ­
>>> 
>>> Start truncation:
>>> ˇ­ated text.
>> 
>> When is this actually needed for text overflow? Can you provide for samples, perhaps from in print or something, where the start of the text is missing, in favor of the end showing?
> 
> The use case I need that for are file names. In print doesn't have dynamic text cropping, so I'm not sure what you want here.

I just can't imagine that there is much need for truncating the start edge (ie left edge in Latin scripts), except when the element is too narrow to show even a single character on the left. When would you ever want "...ilename.pdf" instead of "filen...e.pdf" or "f...lename.pdf? Left-side truncation seems unnecessary to me, as I've never seen it anywhere, and never needed it (though it seems OK if a single character won't fit there). 

> Other use cases for text-overflow-min-width are samples of texts having some kind of [more] link at the end, which can be seen on many pages.
>>> Start and end truncation:
>>> ˇ­ome truncaˇ­
>> 
>> That looks pretty odd to me, and not readable.
> 
> Well, truncating at both sides at the same time is not my invention.[1]

I never noticed that there, and don't think any UAs do that. It seems bizarre to me. I don't know what the use case is. 

> I just wanted to ensure that text-overflow-min-width is handled correctly in that case.

Sure. That makes more sense, if we have to accept start edge truncation. But I hope we don't. 

>>> Middle truncation:
>>> This ˇ­text.
>>> 
>>> For start/end truncation text-overflow-min-width would just need to hold one value, while for middle truncation you may want to define the min. width of the start and end part separately.
>> That seems like overkill, and would result in more cases where the text is unable to be truncated further. What then? Wouldn't it be better to keep truncating in the middle than to, what, overflow the box on the right
> 
> No. The purpose is to keep the text readable (or at least identifyable) as long as possible. If you think there's an easier way to define the minimal width of truncated text, I'd like to hear your idea.

I would define the min value for the end only. 

1. The UA would insert keep the many characters on the right, insert ellipses to the left of those, and as many characters from the starting character on, as could fit, to the left of all that. 

2. If it could fit less than one on the left, then include one and reduce the number of characters on the right. 

3. If the width was small enough, it would eventually would just be the one starting character plus the ellipse. 

4. If the ellipse also didn't my fit, then it would be treated the same as 'text-overflow: clip'. 

Thus, text-overflow-min-width:0 would be the default starting value, which means the ellipsis would be at the end. 

>>> So it would hold two values. This differentiation is not written down in the wiki page yet.
>>> I'm open for ideas how to achieve the above.
>>> 
>>>> Also, I think text-overflow-min-width would need to be more of a suggestion than an absolute, as you would probably want to ensure at least one character at the start, in case the value was larger than the length of the line.
>>> I believe that should be up to the author. But of course a good default value like e.g. 1ch should be chosen.
>> 
>> If the author's intent is to have middle truncation, then I don't think min values should prevent the browser from doing that smartly once it reaches the extremes.
>  
> If the author doesn't care about how the truncation happens, it's ok to let the browser do that smartly. Though there are situations, in which you want to influence the truncation as I mentioned above, to which you already agreed before.

I'm talking about what to do when the mins don't all fit. You haven't said what you expect in that situation, as I have. It doesn't mean the author doesn't care, it means the author doesn't want the UA to be so rigid in how it interprets 'min' constraint that it ends up ruining the effect the author wanted. If you can think of it this way, then maybe 'min' is not the best word to describe the preferred  amount of text to be kept at the end during middle truncation. 
Received on Tuesday, 13 August 2013 00:33:48 UTC

This archive was generated by hypermail 2.3.1 : Tuesday, 13 August 2013 00:33:49 UTC