Implementar validações para elemento <list> conforme SPS 1.10#1099
Draft
Implementar validações para elemento <list> conforme SPS 1.10#1099
Conversation
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Co-authored-by: robertatakenaka <505143+robertatakenaka@users.noreply.github.com>
Copilot
AI
changed the title
[WIP] Add validations for the <list> element
Implementar validações para elemento <list> conforme SPS 1.10
Feb 13, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
O que esse PR faz?
Implementa validações completas para o elemento
<list>conforme especificação SPS 1.10, atingindo 70% de conformidade (7 de 10 regras). O sistema agora valida presença e valores do atributo@list-type, quantidade mínima de itens, e recomenda boas práticas de acessibilidade.Regras implementadas:
@list-type(CRITICAL), valores permitidos (ERROR), mínimo 2<list-item>(ERROR), ausência de<label>(WARNING)<list-item>(WARNING), recomendação de<title>(INFO)Valores permitidos para
@list-type:order,bullet,alpha-lower,alpha-upper,roman-lower,roman-upper,simpleOnde a revisão poderia começar?
packtools/sps/validation/list.py- Lógica de validação (6 regras)packtools/sps/models/list.py- Modelo de extração de dadostests/sps/validation/test_list.py- Suite de testes (11 testes)Como este poderia ser testado manualmente?
Execute os testes unitários:
python -m unittest tests.sps.validation.test_listAlgum cenário de contexto que queira dar?
Arquitetura: Segue padrão existente de
fig.pyetablewrap.py. O modeloArticleListsagrega listas de article, sub-articles translation e non-translation. Validações são independentes por lista, suportando aninhamento.Acessibilidade: A regra sobre
<label>é WARNING (não ERROR) porque o atributo@list-typegera marcadores automaticamente - mais acessível para screen readers.Listas aninhadas: Validadas independentemente. Uma lista
ordercontendo listabulletresulta em 2 conjuntos de validações.Quais são tickets relevantes?
Issue sobre validações para elemento
<list>conforme SPS 1.10Referências
packtools/sps/validation/fig.py,packtools/sps/models/tablewrap.pyWarning
Firewall rules blocked me from connecting to one or more addresses (expand for details)
I tried to connect to the following addresses, but was blocked by firewall rules:
api.crossref.org/usr/bin/python python -m unittest discover tests/sps/validation -p test_*.py -v py, to enable prgit(dns block)If you need me to access, download, or install something from one of these locations, you can either:
Original prompt
This section details on the original issue you should resolve
<issue_title>Criar validações para o elemento </issue_title>
<issue_description>## Objetivo
Implementar validações para o elemento
<list>conforme a especificação SPS 1.10, aumentando a conformidade de X% para 70% (7 de 10 regras).Nota: Algumas validações para
<list>podem já estar parcialmente implementadas no repositório. Este Issue visa reavaliar, complementar e garantir cobertura completa das regras SPS 1.10.Contexto
O elemento
<list>identifica listas com dois ou mais itens no documento. Validações corretas garantem acessibilidade através do uso adequado do atributo@list-typeao invés de<label>, presença de elementos mínimos necessários, e uso correto de valores permitidos para tipos de lista.Conformidade atual: X de 10 regras implementadas (X%)
Meta após implementação: 7 de 10 regras (70%)
Documentação SPS
Referência oficial: https://docs.google.com/document/d/1GTv4Inc2LS_AXY-ToHT3HmO66UT0VAHWJNOIqzBNSgA/edit?tab=t.0#heading=h.list
Regras principais conforme SPS 1.10:
Atributo obrigatório:
@list-typeé obrigatório em todos os<list>Valores permitidos para
@list-type:order- Lista ordenada com números (1, 2, 3...)bullet- Lista desordenada com símbolos (•, -, etc.)alpha-lower- Lista ordenada alfabética minúscula (a, b, c...)alpha-upper- Lista ordenada alfabética maiúscula (A, B, C...)roman-lower- Lista ordenada romana minúscula (i, ii, iii...)roman-upper- Lista ordenada romana maiúscula (I, II, III...)simple- Lista simples sem prefixoEstrutura mínima:
<list>deve conter pelo menos dois<list-item>Elementos permitidos:
<title>(opcional, mas recomendado quando disponível)<list-item>(obrigatório, mínimo 2)Acessibilidade:
<label>dentro de<list-item>para rótulos@list-typegera automaticamente os prefixos/rótulos<label>é menos acessível e menos legível por máquinaListas aninhadas:
<list>dentro de<list-item>Regras a Implementar
P0 – Críticas (implementar obrigatoriamente)
@list-type@list-typeé obrigatório em<list>@list-type@list-typedeve estar na lista de valores permitidos<list-item><list>deve conter pelo menos dois<list-item><label>em<list-item><label>em<list-item>(o atributo@list-typegera rótulos automaticamente)P1 – Importantes (implementar se possível)
<list-item>tem conteúdo<list-item>deve conter pelo menos um elemento filho (tipicamente<p>)<title>quando apropriado<title>P2 – Futuras (fora do escopo deste Issue)
<list-item>contém<p>ao invés de texto diretoArquivos a Criar/Modificar
Avaliar existentes (podem ter validações parciais):
packtools/sps/models/list.pyou similar – Verificar se modelo existepacktools/sps/validation/list.py– Verificar validações existentespacktools/sps/validation/rules/list_rules.jsonou similar – Verificar configuraçãoCriar (se não existirem):
packtools/sps/models/list.py– Modelo de extração de dadospacktools/sps/validation/list.py– Validaçõespacktools/sps/validation/rules/list_rules.json– Configuração de níveis de errotests/sps/validation/test_list.py– Testes unitáriosReferenciar (implementações similares):
packtools/sps/validation/fig.py– Validação de atributos obrigatóriospacktools/sps/validation/utils.py– Funções auxiliares (build_response)Exemplos de XML
XML Válido (deve passar sem erros):