diff --git a/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js b/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js index 346e24b61a5..f455251c3c6 100644 --- a/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js +++ b/addons/web_editor/static/src/js/wysiwyg/wysiwyg.js @@ -176,8 +176,19 @@ const Wysiwyg = Widget.extend({ getPowerboxElement: () => { const selection = (this.options.document || document).getSelection(); if (selection.isCollapsed && selection.rangeCount) { - const node = closestElement(selection.anchorNode, 'P, DIV'); - return !(node && node.hasAttribute && node.hasAttribute('data-oe-model')) && node; + const baseNode = closestElement(selection.anchorNode, 'P, DIV'); + const fieldContainer = closestElement(selection.anchorNode, '[data-oe-field]'); + if (!baseNode || + ( + fieldContainer && + !( + fieldContainer.getAttribute('data-oe-field') === 'arch' || + fieldContainer.getAttribute('data-oe-type') === 'html' + ) + )) { + return false; + } + return baseNode; } }, isHintBlacklisted: node => {