w3c / w3c/editing

execCommand("indent") conflicts with the content model of <ul>/<ol>

Open
#256 3 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

execCommand
Dominant language
HTML
Stars
202
Forks
43
PR merge metrics
No merged PRs in 30d

Description

Consider the following tree:

<ul>
<li>first</li>
<li>second</li>
</ul>

Here, execCommand("indent") on the second list item generates the following tree:

<ul>
<li>first</li>
<ul><li>second</li></ul>
</ul>

The resulting tree inserts a <ul> inside another <ul>, conflicting with HTML:

Content model:
Zero or more li and script-supporting elements.

I guess we have two options:

Pinging @annevk for the HTML part.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the example trees in this issue, then read the linked HTML ul content model and the execCommand indentation algorithm. A resolution would require deciding whether to change indentation behavior or the HTML model, followed by updating the relevant specification text; no file or test is identified.

Written by the indexing model from the issue text.

Assessment

Tech stack
html
Domain
documentation, web-dev
Issue type
Bug
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.