- From: Marta Pawlowska <m.pawlowska@samsung.com>
- Date: Thu, 20 Mar 2014 17:38:13 +0100
- To: ayg@aryeh.name
- Cc: public-webapps@w3.org
- Message-id: <01c301cf445a$c9dfb360$5d9f1a20$%pawlowska@samsung.com>
Hello Aryeh, I've encountered lately problem with algorithm for <https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#the-inserthorizont alrule-command> insertHorizontalRule when ancestor of an elements (<p>) parent is not editable and I need to put <hr> there. Problem: What to do when you want to insert <hr> in <p> element however its (<p>'s) ancestor is not editable? Specification: According to my interpretation of the specification when inserting line into text on below test case final effect would be: <body> <p id="text" contenteditable="true"> Simple text1. </p> <hr> <p id="text" contenteditable="true"> Simple text2. </p> </body> This is my problem! Now <hr> is embedded into <body> which is non-editable. However this is not entirely logical to move element from editable parent into non-editable parent, you need to consider undo operation here also. Specification details that lead me to my conclusions: <https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#the-inserthorizont alrule-command> https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#the-inserthorizonta lrule-command -> step 2. If "p" is not an allowed child of the editing host of node, abort these steps. --> <https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#fix-disallowed-anc estors> https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#fix-disallowed-ance stors <-- p is not allowed child of p -> step 4: While node is not an allowed child of its parent, split the parent of the one-node list consisting of node. --> split the parent: ---> <https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#split-the-parent> https://dvcs.w3.org/hg/editing/raw-file/tip/editing.html#split-the-parent TC: <html> <head> <script type="text/javascript"> window.onload = function() { var text_input = document.getElementById( "text" ); text_input.focus(); text_input.select(); } </script> </head> <body> <button onclick="document.execCommand( 'insertHorizontalRule', false, null );">insertHorizontalRule</button> <p id="text" contenteditable="true"> Simple text1. Simple text2. </p> </body> </html> Could you point errors in my logic or any solution you have described in spec but I did not found it? Best regards, Marta
Received on Thursday, 20 March 2014 16:38:50 UTC