text: /**
   * Returns a reference to the element matching the attr URL fragment value
   * @method getElementByReference
   * @memberof axe.commons.dom
   * @instance
   * @param {Element} node
   * @param {String} attr Attribute name (href)
   * @return {Element}
   */
  function getElementByReference(node, attr) {
  	let fragment = node.getAttribute(attr);
  	if (!fragment) {
  		return null;
  	}
  
  	if (fragment.charAt(0) === '#') {
  		fragment = decodeURIComponent(fragment.substring(1));
  	} else if (fragment.substr(0, 2) === '/#') {
  		fragment = decodeURIComponent(fragment.substring(2));
  	}
  
  	let candidate = document.getElementById(fragment);
  	if (candidate) {
  		return candidate;
  	}
  
  	candidate = document.getElementsByName(fragment);
  	if (candidate.length) {
  		return candidate[0];
  	}
  	return null;
  }
  
  export default getElementByReference;
  