- From: Ben Peters <Ben.Peters@microsoft.com>
- Date: Wed, 16 Apr 2014 19:01:01 +0000
- To: Yoichi Osato <yoichio@google.com>, "public-webapps@w3.org" <public-webapps@w3.org>
- CC: Ryosuke Niwa <rniwa@apple.com>
> Image following HTML ('|' is the caret selection): > <span contenteditable="true" id="span">|text</span> > <script> > document.execCommand('indent', false, null); > </script> > > Following current HTML editing, document.execCommand('indent') inserts a > blockquate element inside a span element. > https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#indent > Both Chrome and IE insert a blockquate element inside a span element. > You can try it on: > http://jsfiddle.net/xtk5h/2/ > > However, the blockquate element is a flow content and HTML standard doesn't > allow flow contents to be contents of a span element: > http://www.whatwg.org/specs/web-apps/current-work/#the-span-element > > Which is better we allow indentation in inline element or not? My personal opinion (not shared by all at Microsoft) is that inline elements should not be broken for blockquote/list items. Indent commands should indent the entire block. Today, if you select several lines separated by <br> elements, and execute insertorderedlist in Chrome, it creates list items for each line. I feel like that breaks the user's model because <br> is created by shift-enter, and shift-enter in a list creates a new line in the same list item, not a new list item. This is further complicated by Firefox creating <br> on enter instead of shift-enter though. I believe enter should create a block (p or div), and shift-enter should create br. Chrome Firefox IE Enter <div> <br> <p> Shift-Enter <br> <br> <br>
Received on Wednesday, 16 April 2014 19:01:41 UTC