docs: @Override
    protected void visitHtmlAttributeNode(HtmlAttributeNode node) {
      IncrementalDomCodeBuilder jsCodeBuilder = getJsCodeBuilder();
  
      if (node.hasValue()) {
        // Attribute keys can only be print statements or constants. As such, the first child
        // should be the key and the second the value.
        checkState(isComputableAsJsExprsVisitor.exec(node.getChild(0)));
  
        jsCodeBuilder.append(
            INCREMENTAL_DOM_ATTR.call(
                // Attributes can only be print nodes or constants
                genJsExprsVisitor.exec(node.getChild(0)).get(0),
                CodeChunkUtils.concatChunksForceString(getAttributeValues(node))));
      } else {
        visitChildren(node); // Prints raw text or attributes node.
      }
    }