- From: Lars Wallin <lars@colibrio.com>
- Date: Thu, 17 Feb 2022 14:07:42 +0100
- To: "Xu Zheng (gardenia)" <zxu@gardenia-corp.com>
- Cc: Ivan Herman <ivan@w3.org>, W3C Publishing Community Group <public-publishingcg@w3.org>
- Message-ID: <CAN9weQz-=pynwmP+hiFU+G61YuCQh8z3D8vugJ6GmdO=BuE9ug@mail.gmail.com>
Hi again, If you want something that selects text, and is somewhat "supported" by browsers, you can use the horrifically pragmatic and ugly Text Fragments thingy 😝 https://wicg.github.io/scroll-to-text-fragment/ Lars Wallin Product Manager, Founder *Colibrio Software AB* Chalmersgatan 21 411 35 Gothenburg Sweden colibrio.com On Thu, Feb 17, 2022 at 1:35 PM Xu Zheng (gardenia) <zxu@gardenia-corp.com> wrote: > Yeah, it is already a web browser standard to identify a HTML element. > > While I have not found the rest (locate to text) are well defined and > implemented yet. > > What is the current status of https://www.w3.org/TR/selectors-states/? It > has Selector session which looks similar as annotation model. > > > Back to how to let web browser select some text through URI. To select > some text in a webpage we need node index inside a HTML element and char > offset inside the node which I found. > > CFI has the most close definition. annotation model ( > https://www.w3.org/TR/annotation-model/) is very close but it is still > need some modification to get mixture of CSS Selector and Text Position > Selector work together and I can see annotation-model has more benefit > about how to serialize annotation (wider than selector). > > > https://www.w3.org/TR/selectors-states/#serializing-iri-to-url is > interesting as well. I don't think a selector like this is supported by web > browser yet maybe I am wrong. so that has the similar difficult as cfi when > adopting to web browser. > > http://example.org/page1 > #selector(type=TextQuoteSelector,exact=annotation, > prefix=this%20is%20an%20,suffix=%20that%20has%20some) > > > Cheers, > > Zheng > > > On 2022-02-17 2:34 a.m., Lars Wallin wrote: > > Good point. But, as you say, It's a very good starting point indeed 🙂 > No need to reengineer the wheel just for the fun of it 😉 > > Cheers, > Lars > > On Thu, 17 Feb 2022, 08:25 Ivan Herman, <ivan@w3.org> wrote: > >> >> >> On 17 Feb 2022, at 07:33, Lars Wallin <lars@colibrio.com> wrote: >> >> Hey Xu Zheng 👋 >> >> There is actually already a standard for this. Have a look at the Web >> Annotation Selectors and States document >> >> https://www.w3.org/TR/selectors-states/#CssSelector_def >> >> https://www.w3.org/TR/selectors-states/#serializing-iri-to-url >> >> >> Just to be precise here…. the selector part *is* indeed a standard >> (defined formally in [1]) and just quoted in the note that you cite. But >> the URI translation thereof[2] is not. >> >> (I am all in favor of reusing the model, of course, if we can. But we >> should be careful with the expectations…) >> >> Ivan >> >> >> [1] https://www.w3.org/TR/annotation-model/ >> [2] https://www.w3.org/TR/selectors-states/#frags >> >> >> >> Let's show the Web Annotations spec the love it deserves 🙂 >> >> As EPUBCFI supports "extensions" which would let you tag these selectors >> on to the CFI, making it EPUB compatible 👌 >> >> http://idpf.org/epub/linking/cfi/epub-cfi.html#sec-extensions >> >> Cheers, >> Lars >> >> On Thu, 17 Feb 2022, 03:37 Xu Zheng (gardenia), <zxu@gardenia-corp.com> >> wrote: >> >>> Hi folks >>> >>> This week POC ( >>> https://wysebee.com/?startSelector=%23home-header%3A0%3A8&endSelector=%23home-header%3A0%3A15) >>> to select a random string in web browser bring me back to one question >>> again. >>> >>> "Can we change CFI spec a bit to support CSS Selector"? >>> >>> >>> As a reading system programmer the most difficult part to implement CFI >>> for highlight are: >>> 1. need to go through all element to identify element for CFI such as >>> following >>> >>> /6/4!/4/10/2/1 >>> >>> 2. when we have this CFI generated for highlight then it's still >>> difficult to go through DOM to locate this element when rendering highlight. >>> >>> >>> I went through CSS selector again as well it is possible to use CSS >>> selector to locate every element (for example implementation like this >>> https://www.npmjs.com/package/css-selector-generator). >>> >>> And actually I remember when someone had brought up CFI to CSS WG and >>> Web browser vendor a few years ago mostly two questions raised from them: >>> >>> 1. why don't use CSS selector >>> >>> 2. should avoid inventing new way attaching to URI such as following >>> >>> #epubcfi(/6/4!/4/10/2/1:3[%d0%a4-%22spa%20ce%22-99%25-aa^[bb^]^^]) >>> >>> >>> >>> The rest of CFI I think are very useful by defining charOffset of each >>> text node and the node index of the target node which are not covered by >>> CSS Selector (you might want to ask - can we ask CSS Selector to support >>> selecting charOffset? I am not sure since CSS Selector seems only select >>> element (https://www.w3.org/TR/selectors-4/#context) ). >>> >>> >>> So I wonder, maybe we still can find a unified way to define annotation >>> but with slightly changed CFI. >>> >>> >>> In the POC I tried format like >>> >>> ?startSelector=<CSS Selector>:<node index>:<charOffset>&endSelector=<CSS >>> Selector>:<node index>:<charOffset> >>> >>> But if make it more closer to "CFI" we might have something like this? >>> So even if web browser might not support it natively but as long as epub >>> could support then we can have something unified that end user could share >>> highlight in the same book but different reading app. >>> >>> ?epubcfi=<CSS Selector>:<node index>:<charOffset>,<CSS Selector>:<node >>> index>:<charOffset> >>> >>> >>> And this format can satisfy "path-relative-scheme-less-URL string >>> <https://url.spec.whatwg.org/#path-relative-scheme-less-url-string>" >>> >>> >>> Cheers, >>> >>> -- >>> Zheng Xu >>> >>> Chief Executive Officer >>> Gardenia Corphttps://gardenia-corp.com/ >>> >>> >> >> ---- >> Ivan Herman, W3C >> Home: http://www.w3.org/People/Ivan/ >> mobile: +33 6 52 46 00 43 >> >> >> -- > Zheng Xu > > Chief Executive Officer > Gardenia Corphttps://gardenia-corp.com/ > >
Received on Thursday, 17 February 2022 13:08:07 UTC