isNonInteractiveElement = (
  tagName: string,
  attributes: Array<Node>,
): boolean => {
  // Do not test higher level JSX components, as we do not know what
  // low-level DOM element this maps to.
  if (!dom.has(tagName)) {
    return false;
  }
  // <header> elements do not technically have semantics, unless the
  // element is a direct descendant of <body>, and this plugin cannot
  // reliably test that.
  // @see https://www.w3.org/TR/wai-aria-practices/examples/landmarks/banner.html
  if (tagName === 'header') {
    return false;
  }

  return checkIsNonInteractiveElement(tagName, attributes);
}
Returns boolean indicating whether the given element is a non-interactive
element. If the element has either a non-interactive role assigned or it
is an element with an inherently non-interactive role, then this utility
returns true. Elements that lack either an explicitly assigned role or
an inherent role are not considered. For those, this utility returns false
because a positive determination of interactiveness cannot be determined.