Parece que Chrome ignora la selección de usuario en un div contenteditable

Necesito hacerlo para que algunos elementos dentro de un div contenteditable no sean seleccionables, de modo que el usuario saltee sobre ellos si intentan mover el cursor hacia donde se encuentran.

La solución obvia parece ser el estilo de estas secciones usando user-select: none . Esto funciona muy bien en Firefox, pero, lamentablemente, falla por completo en Google Chrome.

 .ok { -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; } .nope { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } 
 
OneTwoThree
OneTwoThree
OneTwoThree
OneTwoThree

¿Hay alguna manera de hacer que esto funcione en Chrome también, o es una limitación insuperable?

Me he encontrado con este problema y he encontrado un trabajo decente. No es bonito, pero a menudo puede hacer el trabajo.

Si agrega contenteditable="false" junto con user-select:none; entonces Chrome procesará la regla de CSS correctamente. Esos elementos ya no serán seleccionables.

La principal desventaja de esto (además de tener que modificar el HTML) es que si uno agrega contenteditable="false" en un div de contenedor, entonces todos sus hijos también se vuelven no editables. También puede anidar otro contenteditable="true" , que permitirá que el contenido nested sea editable, pero luego no se puede seleccionar desde el contenido nested al contenido externo.

En última instancia, una implementación correcta de la regla CSS en Chrome cuando se habilita contenteditable sería la mejor solución. (Podría ser intencional debido a la especificación de selección de usuario, ver comentario a continuación)

Ejemplo de solución usando contenteditable="false" (no en los divs de wrapper).

 .ok { -webkit-user-select: text; -moz-user-select: text; -ms-user-select: text; user-select: text; } .nope { -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; } 
 
One Two Three
One Two Three
One Two Three
One Two Three