 we rely on the form submission to do the right thing.
      // See http://caniuse.com/#search=required.

      // Create a fake form, with an invalid input. If it gets submitted, it's Safari.
      var form = document.createElement('form');
      var input = document.createElement('input');
      input.setAttribute('required', 'true');
      form.appendChild(input);

      // If you call submit(), the form doesn't actually fire a submit event,
      // so you can't intercept it and cancel it. The event is 