You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
svelte-kit-vice/docs/process/audit-uix-2026-09-19/card-group-native.md

12 KiB

title type audience authority status
UIX — CardGroup, selección y disclosure por composición notes human + agent process — auditoría neutral, no contrato nuevo reviewed

CardGroup — continuación nativa

Fecha: 2026-10-01. Alcance autorizado por «lee el handoff ultimo y continua». Las cuatro guías obligatorias se leyeron completas antes de escribir helpers. Base HEAD/gita/astra b93e13c7d, Card publicado. Evidencia local ignorada en tmp/card-group-audit-evidence-2026-10-01/. No se modifica web.

Comparación y propiedad

Aspecto Radix RadioCards Chakra CheckboxCard Ark ToggleGroup Bits ToggleGroup Decisión UIX
Selección RadioGroup single CheckboxGroup multiple Array, multiple/deselectable Single string/multiple array Conservar enabledSelections y array; no añadir inputs ni semántica radio.
Anatomía Root/Item HiddenInput, Control, Content, Label, Description, Indicator Root/Item Root/Item, child/ref Cinco wrappers; presencia controla partes.
Grid/talla Responsive columns, tres tallas sm/md/lg Consumidor Consumidor Group sm/md/lg; minChildWidth precede columns.
Teclado/disabled RadioGroup/Item disabled Checkbox disabled Roving, loop, orientation Roving, loop, orientation ToggleGroup nativo; contrastar local/heredado sin nueva máquina.

Fuentes primarias verificadas de nuevo, con APG Disclosure para button/expanded/Enter/Space. No se afirma un supuesto Chakra CardGroup. Air morfo-runtime sólo contiene iconos card, no CardGroup.

Leídos cinco wrappers, contexto, types/index/CSS/README, Morfo/Langs y receta de 20 claves, helpers de color/style/layout, ToggleGroup y Collapsible con sus providers/partes/tipos/Morfo/Sema, selección pura y raíces reales. Harness createActiveUix/Soma.create/ActiveEidos.create; cero servicios simulados.

Morfo CardGroup scope eidos, cero eventos propios justificados: ToggleGroup contact pre/commit-toggle post y commit-block risk al Item; Collapsible emerge post a Content, Title Button. Contexto sólo getters; Item añade identidad Card. Langs label registrado pero no consumido. Consumidor posee copy/nombre, acciones válidas en Items pasivos y desmontaje. No ref bindable propio.

Primera ejecución y límites del instrumento

Baseline única: 25 positivos, 23 fallos, 48 nombres únicos, cero pendientes. Ocho AssertionError y quince TypeError. Catorce TypeError de selección y la aserción Tab se originan en un selector que asumía conservado el ID consumidor; el wrapper seleccionable lo reemplaza. La sonda disabled heredado sufre el mismo TypeError. No se presentan esos fallos como defectos de click/foco. La responsabilidad del instrumento queda explícita. Fuentes/JSON/log/huella y primer diagnóstico originales completos conservados sin reescribir.

Sólo los 25 originales positivos se promueven con la misma huella de fullName, status y failureMessages. Cubren default/partes, depth, sm/md/lg, cuatro variantes con receta Card explícita, radios concéntricos, columnas/minimum reactivos y responsive, disclosure click/Enter/Space, atributos estáticos/copy, nombres explícitos, vacío, tokens, fallback350, acción pasiva y desmontaje. Passing certifica sus aserciones; no convierte el overflow visible en correcto.

48 PNG originales inspeccionados individualmente/archivados/SHA: 46 a 1100×900, dos a 350×900 y uno RTL. Bare aislado sin Card/receta antes de capturar; después carga card.css como control en ese mismo caso. Ninguna recaptura, freeze ni animación neutralizada. Screenshots automáticos de fallo fuera del censo manual; notas individuales en image-inspection.json.

Pasivos soft pálidos; solid teal saturado/blanco, outline borde teal y ghost sólo tinta. Raised sombra, recessed gris/inset, flush sin cromo. sm permite tres columnas a820, md/lg dos; responsive vuelve a tres. Fallback350 envuelve prosa y cabe horizontalmente. Pasivos con receta sobresalen debajo del grupo y tapan After; toggleable los recorta. Selectables button border-box caben. Local disabled atenúa B, heredado deja todas a plena fuerza. RTL revierte columnas/alineación. Bare concatena strong/span sin padding. Disclosure cerrado conserva Title/Description y oculta grid; teclado muestra foco y una llamada. Empty/removal no inventan copy. Las imágenes originales fallidas de selección no certifican la interacción que el selector impidió ejecutar.

Sondas adicionales separadas

Selección con data-value: additional.json 22 positivos/una AssertionError, 23 nombres. Cuatro variantes se repiten por el filtro del helper; no se suman como originales nuevos ni se promueven. Confirma single replace/clear/callbacks, external value/ring, cap/reject al target exacto, replace-oldest, required floor, Enter/Space, roving/skip/Home/End/loop, RTL, Tab, disabled funcional, external open/selection retention y cascade. Cuatro controles separan inherited paint, ID, style terminado y naming explícito.

La aserción reduce esperaba animationName none y recibe scale-in/fade-in. geometry.json conserva un positivo/dos AssertionError: geometría confirma overflow; controles reduced esperaban none pero el preset reducido válido mantiene fade-in. No acredita que todo fade sea un defecto. motion-control.json conserva dos AssertionError: comparaciones de nombres pasan (control fade-in frente a grupo scale-in/fade-in), luego falla la expectativa incorrecta de 300ms frente a 240ms reales. Fuentes/aserciones intactas por ejecución, sin recalibración/promoción ni capturas manuales nuevas. Q336 se adjudica al scale que conserva el grupo frente al control y los selectores generados; no al fade válido ni al valor temporal supuesto.

Hallazgos y disposición

ID Evidencia nativa Disposición
Q329 disabled root no llega a disclosure; Title cierra mientras peer Collapsible disabled está disabled. Diferir forwarding del root; Eidos Collapsible sí propaga rest/disabled.
Q330 Title/Content toggleable pierden atributos consumidor que estáticos conservan. Diferir passthrough de ramas con composición.
Q331 Item seleccionable cambia audit-cg-a por ID del provider; data-probe/data-value sí llegan. Diferir precedencia compatible con registro/foco; no atribuir fallos del selector a interacción.
Q332 Item inherited native disabled true, sin data-disabled/filter none; peer mantiene marker y local B atenúa. Diferir effective disabled visual.
Q333 Minimum400/viewport350: scrollWidth416/clientWidth300; control clamped cabe. Diferir límite explícito estrecho.
Q334 Bare Item block/padding0; misma instancia tras cargar card.css flex/padding20. Diferir dependencia de receta de composición.
Q335 Pasivo content-box: grid bottom339.5, item365.5, grupo340.5; control auto-height item555.5/grid563.5. Diferir block-size100% y box sizing preservando equal-height.
Q336 Scale-fade parent mantiene scale-in/fade-in240ms bajo reduce; preset directo open sólo fade-in; passive sin estado/selectable on-off no casan kill. Diferir reducción de cascada compartida.
Q313 Style padding7 sin ; absorbe semilla custom; control terminado conserva semilla/padding7. Extender concatenación compartida.

Sonda TitleID: sustituir el ID estático deja la referencia automática sin destino; root aria-labelledby explícito al mismo ID resuelve. Se documenta obligación del consumidor al personalizar la referencia; no se introduce otro ID de defecto ni se promete seguimiento de overrides. Title DIV sin heading queda decisión de diseño diferida, no defecto nuevo de selección.

Conciliación y cierre

Sólo README de producción conciliado: comparación primaria, disabled/attrs/IDs/ naming, carga de receta, block-shake, contact/ownership, altura/reduced y límites. Índice conserva comentario select obsoleto señalado en README. Wrappers/tipos/ Morfo/Langs/CSS/receta/API intactos; cero extracción, defectos diferidos sin reparar.

Guard previo PASS/cero errores/tres avisos: D-1.2 tabs, D-1.3 compileMorfo ausente y D-4.3 Play sin emit, todos de demo frozen. No se edita web para resolverlos. Dirigida CardGroup/Card/ToggleGroup/Collapsible 86/86, huella exacta de los 25 positivos; cinco fuentes originales, 57 fuentes ejecutables previas frente a b93e13c7d y 48 originales/SHA/dimensiones verificados intactos. Gate integral cerrada en el segundo intento; censo de continuidad 169 reviewed. Fase 6 abierta; fases 0–5 sin cerrar, fase 7 pendiente. AT/touch/oscuro/contraste/SSR/otros motores no acreditados.

Primera gate integral exit 1: 607 archivos passing/uno fallido, 7586 pruebas passing/una fallida. Toast native item focus pauses auto-dismiss until native blur, línea 282: Item ya null frente a foco en el botón exterior. Dirigida Toast 34/34 sin cambiar producción, fixtures, aserciones ni tiempos. gate.log/gate-exit.txt y toast-directed.log/JSON/exit conservados separados. Retry integral completo exit 0; no se atribuye una causa no demostrada al fallo.

Segunda gate integral exit 0: 608 archivos/7587 pruebas, docs 985/arts 25. check:gate conserva 89 históricos/cero nuevos src/scripts; apps/base check/build y smoke foundation 1/1 + boot 27/27 pasan, sin pageerror, console.error ni CSP. Guard CardGroup PASS/cero errores/tres avisos frozen triados. Censo de continuidad 169 reviewed; fase 6 abierta, fases 0–5 sin cerrar y fase 7 pendiente. Primer fallo Toast y dirigida 34/34 intactos; retry sin cambios de código, fixtures, aserciones ni tiempos. Logs y códigos de cada intento separados. Publicación: comprobar git log, ack remoto y push-exit.txt; no PR solicitado.

Powered by TurnKey Linux.