_getNextSelectableNode(allNodes, startNode) {
    const nodes = allNodes
      .filter(node => node instanceof HTMLElement)
      .filter(node => {
        // 'Save as Gist' option may be disabled.
        if (node.hasAttribute('disabled')) {
          return false;
        }

        // 'Save as Gist' option may have display none.
        if (window.getComputedStyle(node).display === 'none') {
          return false;
        }

        return true;
      });

    let nextIndex = startNode ? (nodes.indexOf(startNode) + 1) : 0;
    if (nextIndex >= nodes.length) {
      nextIndex = 0;
    }

    return nodes[nextIndex];
  }
@param {Array<Node>} allNodes
@param {?HTMLElement=} startNode
@return {HTMLElement}