Lumina
Harness de Qualidade da Experiência · Módulo XQ.1
1/13
ENPT
Exemplo de código. Use as setas Esquerda e Direita para rolar horizontalmente. Módulo XQ.1 · evidência de experiência

A tarefa que desaparece

Uma página de reserva pode passar por várias verificações e, ainda assim, não permitir que alguém reserve um livro. O que falta muitas vezes não é mais uma verificação, mas uma declaração precisa da tarefa que todas elas devem proteger.

o que você conseguirá fazer definir e contestar um contrato de jornada que nomeia um objetivo, seus estados críticos, a evidência exigida e a pessoa responsável pela decisão.

A jornada de reserva na Biblioteca é fictícia. Ela representa uma tarefa web crítica e não contém pessoas, instituição ou resultado real. A página prática local fornece um caso sem código; seus resultados não são evidência de conformidade.

O curso-base apresentou o harness como um conjunto repetível de verificações, evidências e consequências. Aqui, a primeira entrada desse harness não é um seletor nem uma captura. É a promessa de que a pessoa ainda precisa conseguir concluir a tarefa.

Um PASS de página pode esconder uma tarefa quebrada

Imagine que a busca aparece, a página do livro tem título e o botão Reservar existe. Nada disso mostra se o login devolve a pessoa ao mesmo livro ou se a confirmação aparece. Verificar páginas separadamente apaga o fio que as une. Um contrato de jornada recupera esse fio ao declarar um objetivo e os estados ordenados que completam a tarefa.

Não comece por todos os comportamentos possíveis. Escolha uma jornada crítica e escreva a linha de chegada em linguagem comum. Na jornada fictícia de reserva na Biblioteca, o objetivo é reservar um livro disponível e receber uma confirmação inequívoca. Busca, detalhe, login quando necessário, reserva e confirmação são estados a serviço desse objetivo.

mantenha a fronteira visível Uma verificação relata somente o que suas entradas, estados e regras permitem. Ela não certifica conformidade, não substitui testes com tecnologia assistiva nem representa pessoas usando a jornada.
Por que começar pelo objetivo, e não por uma lista de páginas?
O objetivo preserva a relação entre os estados. O inventário pode estar completo e a tarefa ainda terminar num beco sem saída.

Transforme a promessa em cláusulas inspecionáveis

O contrato executável tem seis campos de nível superior, não quatro. journey é o nome curto da tarefa fictícia. user_goal diz o que a pessoa tenta concluir. steps é uma lista ordenada e não vazia dos estados que precisam permanecer possíveis. owner nomeia o papel que resolve evidência ausente ou contestada. release_evidence nomeia o registro que sustenta o contrato. practice_packet leva a observação feita na superfície prática local.

O pacote de prática é deliberadamente pequeno: state identifica um estado visível; method diz como você o inspecionou; observation diz o que ocorreu; decision é exatamente PROMOTE ou HOLD; e limit diz o que aquela observação não estabelece. É um documento curto, não um arquivo completo de requisitos. Valores vazios e texto de modelo como “substitua por” permanecem em HOLD, pois não descrevem uma observação.

O limite do pacote impede que um registro estreito vire promessa ampla. Uma confirmação registrada pode sustentar que o percurso roteirizado chegou à confirmação. Ela não demonstra que todas as pessoas usam a jornada, que todos os aparelhos se comportam do mesmo modo ou que uma norma foi atendida.

JORNADA + OBJETIVOreserva na Bibliotecareservar livro → confirmaçãouma linha de chegadaPASSOS + RESPONSÁVELbusca → entrada → reservapapel de revisão nomeadoestados + responsabilidadeEVIDÊNCIA + PACOTEestado · método · observaçãodecisão · limiteuma observação delimitadaCAMPO VAZIO OU DE MODELO → HOLDREGISTRO CONCRETO → REVISÃOO contrato encaminha a decisão; não certifica a jornada.

Exemplo resolvido: contrato mais pacote de prática

O contrato da Biblioteca nomeia a jornada fictícia e o objetivo, depois lista “buscar no catálogo”, “abrir um título disponível”, “entrar se solicitado” e “confirmar a reserva”. Sua evidência de lançamento é uma captura do caminho concluído. A pessoa responsável é “revisora de lançamento”, um papel, não uma identidade privada. O pacote de prática registra um estado da superfície local: uma caminhada de teclado a 320 px CSS devolveu o foco ao controle Reservar. A decisão permanece HOLD porque essa observação local sintética não é evidência de tecnologia assistiva nem de pessoas usuárias.

Agora remova a observação do pacote. Busca e detalhe podem continuar verdes, mas o contrato fica incompleto. A resposta correta é HOLD: a regra declarada exige um registro concreto de prática além das cláusulas da jornada. HOLD não prova que a confirmação está quebrada. Diz apenas que o registro ainda não sustenta o avanço.

contract = {
    "journey": "library reservation",
    "user_goal": "reserve an available book",
    "steps": ["search", "detail", "sign_in", "confirmation"],
    "owner": "release reviewer",
    "release_evidence": "completed-path capture",
    "practice_packet": {
        "state": "confirmation dialog",
        "method": "keyboard walk at 320 CSS px",
        "observation": "focus returns to Reserve this book",
        "decision": "HOLD",
        "limit": "synthetic local practice is not AT or user evidence"
    }
}
verdict = "PASS" if all(contract.values()) else "HOLD"
O que significa HOLD quando falta a observação do pacote de prática?
Somente que o registro não tem uma observação concreta para sua própria regra. Não prova que a confirmação real é inutilizável.

Contraexemplo: inventário não é contrato

“Página de busca, página de detalhe, página da conta” parece organizado, mas nomeia telas, não a tarefa. Omite o retorno depois do login e não diz qual evidência importa nem quem resolve uma lacuna. Um verificador poderia marcar as três páginas como presentes enquanto a reserva termina num beco sem saída.

O conserto não é acrescentar páginas. Reescreva a lista em torno de um verbo e de uma chegada observável: reservar um livro disponível; terminar quando a confirmação identifica o livro e o estado da reserva. Depois, conecte cada estado intermediário a essa chegada.

evidência pública A metodologia WCAG-EM do W3C começa pela definição do escopo da avaliação. O curso usa essa ideia pública como análogo para delimitar uma jornada, não como alegação de conformidade. Consultar a fonte pública.

Interprete antes de decidir

PASS no verificador do contrato significa que o registro fictício contém os seis campos exigidos e os cinco campos concretos do pacote. Isso permite continuar a coleta de evidências; não significa que a jornada funciona. HOLD aponta um rótulo de jornada, objetivo, passo, responsável, campo de evidência de lançamento ou campo do pacote de prática ausente.

Sua vez: conteste o registro

Escreva um objetivo em uma frase para outra jornada familiar, como alterar um endereço de entrega. Liste os poucos estados sem os quais o objetivo fica incompleto. Para um deles, nomeie o registro que aceitaria e uma conclusão que esse registro não permite.

prática conceitual sem código Abra a jornada prática em português. Registre state, method, observation, decision e limit no pacote fornecido antes de abrir o laboratório.
Quem altera o contrato quando a evidência é contestada?
A pessoa responsável nomeada. O verificador mostra a lacuna; uma pessoa altera a promessa ou aceita a evidência.
▶ rota obrigatória para builders · laboratório executável

journey-contract-check

Verifique um contrato fictício para rótulo da jornada, objetivo, passos ordenados, pessoa responsável, evidência de lançamento e os cinco campos do pacote de prática. Execute o registro negativo incluído para ver campo ausente ou de modelo produzir HOLD.

labs/journey-contract-check/ · python journey_contract_check.py --out journey-contract-result.json --lang pt
principais conclusões