     "(" + textInputTypes.map((type) -> '@type="' + type + '"').join(" or ") + "or not(@type))" +
     " and not(@disabled or @readonly)]",
     "textarea", "*[@contenteditable='' or translate(@contenteditable, 'TRUE', 'true')='true']"]
-  DomUtils?.makeXPath(inputElements)
+  if DomUtils?
+    DomUtils.makeXPath(inputElements)
 )()
 
 # used by the findAndFollow* functions.

      chrome.runtime.sendMessage {handler: "runBackgroundCommand", registryEntry, count}
    else
      NormalModeCommands[registryEntry.command] count, {registryEntry}

enterNormalMode = (count) ->
  mode = new NormalMode()

      if (element.hasAttribute("rel") && element.rel.toLowerCase() == value)
        followLink(element)
        return true
  return

class FocusSelector extends Mode
  constructor: (hints, visibleInputs, selectedInputIndex) ->
