Re: [css-lists][html] <summary> and ::marker

On Mon, Apr 25, 2016 at 8:44 AM, Xidorn Quan <me@upsuper.org> wrote:
> On Tue, Apr 26, 2016, at 12:50 AM, Tab Atkins Jr. wrote:
>> On Mon, Apr 25, 2016 at 12:04 AM, Ting-Yu Lin <tlin@mozilla.com> wrote:
>> > I'm a implementer for Firefox, so this is from the implementation point of
>> > view.
>> >
>> > Tab's proposal is cleaner, but I'm worrying about the implementation
>> > complexity for defining ::marker to be another universal pseudo like
>> > ::before for solving the issue for summary implementation.
>>
>> I'm curious what the impl complexity is - you already have code to
>> handle creating ::marker for display:list-item,
>
> list-item is basically block + ::marker, so we just create the related
> render object (we call it nsBulletFrame currently) for block when the
> display value is list-item. We haven't even supported inline-list-item
> yet (seems neither does any other browser), because it isn't that
> important, but it is non-trivial to implement.
>
>> and you have code to handle ::before/after pseudo-elements on all
>> elements. Are the two too hacky to simplify reasonably?
>
> IIRC, ::before/after are... very hacky. Code to handle them spreads
> across the codebase for us, so it is probably not that easy to simplify.
> And I suspect this specific issue probably isn't worth the effort to
> refactor that code...

Bleh, that sucks.

> Also by allowing ::marker for every element, you'd basically need it to
> be a full-featured pseudo-element like ::before/after. But it seems to
> me that, we didn't have conclusion about positioning and layout of a
> full-featured ::marker even it is only built with list-item, which is
> why the status of ::marker in CSS Pseudo-Elements 4, and the trimming
> plan for CSS Lists 3 [1]. Have you had clear idea how to handle that
> now?

The controversial part was de-magicing the list-style-position:outside
value.  There's no need to do that with this proposal, tho - just like
list-style-type/image magically set the ::marker contents *only* when
the originating element is display:list-item,
list-style-position:outside would just affect the static position of
the ::marker (and make it abspos) only when the originating element is
display:list-item.

~TJ

Received on Monday, 25 April 2016 18:18:16 UTC