src/modules/inactive/commands/aryeh_implementation.js
function isEditable(node) {
	return node
		&& !isEditingHost(node)
		&& (node.nodeType != Node.ELEMENT_NODE || node.contentEditable != "false")
		&& (isEditingHost(node.parentNode) || isEditable(node.parentNode))
		&& (isHtmlElement(node)
		|| (node.nodeType == Node.ELEMENT_NODE && node.namespaceURI == "http://www.w3.org/2000/svg" && node.localName == "svg")
		|| (node.nodeType == Node.ELEMENT_NODE && node.namespaceURI == "http://www.w3.org/1998/Math/MathML" && node.localName == "math")
		|| (node.nodeType != Node.ELEMENT_NODE && isHtmlElement(node.parentNode)));
}
function isEditable(node) {
	return node
		&& !isEditingHost(node)
		&& (node.nodeType != Node.ELEMENT_NODE || node.contentEditable != "false")
		&& (isEditingHost(node.parentNode) || isEditable(node.parentNode))
		&& (isHtmlElement(node)
		|| (node.nodeType == Node.ELEMENT_NODE && node.namespaceURI == "http://www.w3.org/2000/svg" && node.localName == "svg")
		|| (node.nodeType == Node.ELEMENT_NODE && node.namespaceURI == "http://www.w3.org/1998/Math/MathML" && node.localName == "math")
		|| (node.nodeType != Node.ELEMENT_NODE && isHtmlElement(node.parentNode)));
}
function isEditable ( node ) { return node && ! isEditingHost ( node ) && ( node . nodeType != Node . ELEMENT_NODE || node . contentEditable != "false" ) && ( isEditingHost ( node . parentNode ) || isEditable ( node . parentNode ) ) && ( isHtmlElement ( node ) || ( node . nodeType == Node . ELEMENT_NODE && node . namespaceURI == "http://www.w3.org/2000/svg" && node . localName == "svg" ) || ( node . nodeType == Node . ELEMENT_NODE && node . namespaceURI == "http://www.w3.org/1998/Math/MathML" && node . localName == "math" ) || ( node . nodeType != Node . ELEMENT_NODE && isHtmlElement ( node . parentNode ) ) ) ; }
"Something is editable if it is a node; it is not an editing host; it does not have a contenteditable attribute set to the false state; its parent is an editing host or editable; and either it is an HTML element, or it is an svg or math element, or it is not an Element and its parent is an HTML element."
Something is editable if it is a node ; it is not an editing host ; it does not have a contenteditable attribute set to the false state ; its parent is an editing host or editable ; and either it is an HTML element or it is an svg or math element or it is not an Element and its parent is an HTML element .