W3C home > Mailing lists > Public > www-style@w3.org > April 2010

Re: [CSSOM] getClientRects should work on collapsed ranges in ?elements

From: Ojan Vafai <ojan@chromium.org>
Date: Fri, 30 Apr 2010 11:14:53 -0700
Message-ID: <o2v78dc8441004301114p593aecb5j109c24262b79df18@mail.gmail.com>
To: robert@ocallahan.org
Cc: www-style@w3.org, Daniel Danilatos <danilatos@google.com>, Julie Parent <jparent@chromium.org>, Tony Chang <tony@chromium.org>, "TAMURA, Kent" <tkent@chromium.org>, Roland Steiner <rolandsteiner@google.com>
On Wed, Feb 10, 2010 at 8:13 PM, Robert O'Callahan <robert@ocallahan.org>wrote:

> On Thu, Feb 11, 2010 at 1:48 PM, Ojan Vafai <ojan@chromium.org> wrote:
>> Given the following DOM and default CSS styling:
>> <div><span></span><textnode>foo</textnode></div>
>> I think it makes sense that getClientRects would return the same result
>> for the following ranges as they all correspond to the same visible position
>> (e.g. when a text input caret is there):
>> 1. startNode: div, startOffset: 0
>> 2. startNode: span, startOffset: 0
>> 3. startNode: textnode, startOffset: 0
>> With the current spec 1 and 2 return the empty list and 3 returns a
>> zero-width rect. They should all return a zero-width rect with the same
>> values, which matches IE (in the cases where IE TextRanges can represent the
>> same Range).
>> The only use-case I can think of for getClientRects is to get the position
>> of the Selection for putting up context-specific menus. This makes the API
>> hard to use if code needs to first ensure that the endpoints are in
>> textnodes (e.g. in the empty span case, the code would need to first insert
>> a text node).
> To me, this sounds quite hard to specify in a principled way. Have you got
> proposed spec text? If the spec text ends up complicated and somewhat
> arbitrary, then I think the complexity belongs in author scripts, since
> different authors might want to do it different ways.

Would it not be sufficient, in the case of a collapsed range to just act as
if there is a textnode there?

Received on Friday, 30 April 2010 18:15:47 UTC

This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:07:45 UTC