w3c / editing

Specs and explainers maintained by the editing task force
http://w3c.github.io/editing/
Other
191 stars 40 forks source link

RFC: What is expected when a root editable element's contents are completely removed via execCommand #455

Open joanmarie opened 10 months ago

joanmarie commented 10 months ago

Simple test case:

  1. Load data:text/html,<div contenteditable>foo</div>
  2. Give focus to the editable div
  3. Press Ctrl+A (or use selectAll execCommand)
  4. Press Del (or use delete execCommand)

Chromium results: <div contenteditable></div> Gecko results: <div contenteditable><br></div>

Which of the above is correct and why?

I was hoping to find the answer in https://w3c.github.io/editing/docs/execCommand/#deleting-the-selection, but I'm not seeing it. Granted, that's a very long algorithm and I have an admittedly short attention span. :innocent: Could a statement be added near the top or at the bottom that specifies when a br placeholder should and should not be present as a result of using the delete execCommand?

As for why I'm interested: I am trying to fix a number of issues in Chromium's contenteditable support. I have a local bug fix which breaks a bunch of Chromium (née WebKit) tests because now a br is present whereas before it was not. Using selectAll + delete is one such example. Should I be figuring out how to remove those brs which result from my change, or updating the test expectations to reflect corrected behavior?

masayuki-nakano commented 1 week ago

Before fixing https://bugzilla.mozilla.org/show_bug.cgi?id=1098151, the <br> was required to make the empty editing host visible. So, Firefox could stop inserting <br>.