Como impedir o envio de formulários ao usar a validação de formulário do lado do cliente HTML5 no Opera 11?

Como impedir o envio de formulários ao usar a validação de formulário do lado do cliente HTML5 no Opera 11?

Aqui está uma página de teste de amostra:

<section>
  <h2>Test</h2>
  <form>
    <input type="text" name="test" id="test" required/>
    <input type="submit" value="Test" />
  </form>
</section>

validação funciona no Opera 11, mas quando o botão é clicado após a inserção de um valor, o navegador envia o formulári

Eu quero que o navegador fique sempre na página da web, o que é bom para scripts somente do cliente, no disco rígido local, onde não há servidor, por exempl

Quando adicionoreturn false; ou tente impedir que o formulário seja enviado, a validação não funcionará mai

Opera 11.10 Build 2092

EDITAR

Graças à solução robertc, eu consegui fazê-lo. Aqui está a página de teste sem jQuery.

 (function() {
   "use strict";

   window.addEventListener("load", function() {
     document.getElementById("testForm").addEventListener("submit", function(event) {
       event.target.checkValidity();
       event.preventDefault(); // Prevent form submission and contact with server
       event.stopPropagation();
     }, false);
   }, false);
 }());
<section>
  <h2>Test</h2>
  <form id="testForm">
    <input type="text" name="test" id="test" required/>
    <input type="submit" value="Test" />
  </form>
</section>

questionAnswers(1)

yourAnswerToTheQuestion