Open Bug 1462572 Opened 6 years ago Updated 2 years ago

Editor doesn't merge list elements at outdenting valid sub-list element

Categories

(Core :: DOM: Editor, enhancement, P3)

enhancement

Tracking

()

Tracking Status
firefox62 --- affected

People

(Reporter: masayuki, Unassigned)

References

()

Details

Currently, all browsers treat sub-list as:

<ul>
  <li>item #1</li>
  <ul>
    <li>item #2.1</li>
  </ul>
  <li>item #3</li>
</ul>

However, this is invalid. Neither <ul> nor <ol> can have only <li>, <script> and <template> as its children. So, web developers may write as this:

<div contenteditable>
  <ul>
    <li>item #1</li>
    <li>
      <ul>
        <li>item #2.1</li>
      </ul>
    </li>
    <li>item #3</li>
  </ul>
</div>

However, outdent of list item #2.1 is broken. If JS does document.execCommand("outdent"), Gecko creates:

<div contenteditable>
  <ul>
    <li>item #1</li>
  </ul>
  <ul>
    <li>item #2.1</li>
  </ul>
  <ul>
    <li>item #3</li>
  </ul>
</div>

However, it should be:

<div contenteditable>
  <ul>
    <li>item #1</li>
    <li>item #2.1</li>
    <li>item #3</li>
  </ul>
</div>

Edge is also broken. Chrome works oddly.
Priority: -- → P3
Severity: normal → S3
You need to log in before you can comment on or make changes to this bug.