Tu navegador bloqueó el recurso incorporado.
Fallback de embed.
Patrón canónico de fallback de embed para cochid-graphs, mapas, periodismo2 y firmas y documentos.
Verlo por niveles
Primero el componente, después la variación de marca y finalmente su uso dentro de una página.
El origen respondió con error 503. Puedes abrir el tablero en el sitio que lo publica.
Tu navegador bloqueó el recurso incorporado.
Ver y copiar el código de este render
<section class="ui-sample ui-feedback" data-embed-fallback="true"><strong>No pudimos mostrar el contenido</strong><p>Tu navegador bloqueó el recurso incorporado.</p><div class="ui-actions"><a class="btn btn--primary" href="#vista-completa">Abrir la vista completa</a><a class="btn btn--secondary" href="#descargar">Descargar alternativa</a></div></section>Variaciones por marca y sitio
Cada cambio visible declara su autoridad; lo que permanece canónico no se vuelve a inventar en el producto.
COCHID
Autoridad: core-style/DECISIONES.md M15 y LOGOS-CANONICOS.mdTu navegador bloqueó el recurso incorporado.
Cambia en esta marca
- Cuadrado azul y namebrand de tres líneas
- Azul COCHID en selección, capas y series
Permanece canónico
- Estructura y semántica comunes
- Fuentes, unidades y alternativa tabular
Compañía de Innovación de Santiago
Autoridad: CONSTITUTION.md + LOGOS-CANONICOS.mdEl origen respondió con error 503. Puedes abrir el tablero en el sitio que lo publica.
Cambia en esta marca
- Navegación y contenido propios del servicio
- Acento reservado para acciones y datos
Permanece canónico
- Mark CIS y namebrand de tres líneas
- IBM Plex Sans, foco, espaciado y anatomía
Comparación histórica recuperable
Compara la propuesta con cortes reales del repositorio. La ausencia de una muestra se declara y nunca se reconstruye de memoria.
- Estado actual
- Fallback de embed no tiene una implementación vigente demostrada; sus ejemplos son material candidato.
- Cambio propuesto
- Publicar en r19 el contrato de Fallback de embed para Patrón canónico de fallback de embed para cochid-graphs, mapas, periodismo2 y firmas y documentos.
- Qué ocurre si respondes No
- Fallback de embed queda fuera de r19 y sus ejemplos siguen sólo como evidencia pendiente de reformulación.
Preparando comparación histórica…
Antes / r19
La comparación convierte una regla abstracta en una diferencia visible y verificable.
Tu navegador bloqueó el recurso incorporado.
- Mantén proporción, título accesible, fuente y vista completa.
- Proporciona consentimiento y fallback cuando depende de terceros.
- No cargues terceros sin política CSP y privacidad.
- No dejes un rectángulo vacío cuando falla el origen.
Responsive
La misma anatomía debe conservar lectura, foco y acciones sin cortar contenido ni crear scroll horizontal en la página.
Tu navegador bloqueó el recurso incorporado.
El origen respondió con error 503. Puedes abrir el tablero en el sitio que lo publica.
Cobertura
| Dimensión | Contrato |
|---|---|
| Propietario canónico | Sistema de diseño CIS y servicio productor · core/core-style |
| Consumidores | cochid-graphs, Mapas, Periodismo2 y Firmas y Documentos |
| Dependencias | CSP, sandbox, fallback enlazable |
| Estado | candidato |
Evidencia de adopción
Patrón propuesto. 0 implementaciones observadas en 0 repositorios.
La observación demuestra uso existente; la aceptación canónica sigue dependiendo de esta ficha y de su propietario.
| Dato | Resultado |
|---|---|
| Clasificación | Patrón propuesto |
| Implementaciones | 0 implementaciones observadas |
| Repositorios | Ningún repositorio observado |
| Snapshot | kit/componentes/componentes-observados.json |
Consumidores observados
El inventario conserva repositorio, archivo fuente y criterio de asociación. Observar una implementación no la convierte automáticamente en canónica.
Estados
| Estado requerido |
|---|
| cargando |
| disponible |
| bloqueado |
| error |
| sin JavaScript |
Accesibilidad
- Conserva nombre accesible, orden de lectura y foco visible.
- Funciona a 320 px, con zoom de 200% y texto largo.
- El color nunca es la única señal de estado o acción.
- El contenido esencial permanece disponible sin JavaScript.
Código HTML
Copia el bloque completo; después cambia contenido y destinos, no su anatomía.
<section class="ui-sample ui-feedback" data-embed-fallback="true"><strong>No pudimos mostrar el contenido</strong><p>Tu navegador bloqueó el recurso incorporado.</p><div class="ui-actions"><a class="btn btn--primary" href="#vista-completa">Abrir la vista completa</a><a class="btn btn--secondary" href="#descargar">Descargar alternativa</a></div></section>Código TAILWIND
Copia el bloque completo; después cambia contenido y destinos, no su anatomía.
<section class="ui-sample ui-feedback border border-slate-300 bg-white p-4 text-slate-950 grid gap-3" data-embed-fallback="true"><strong>No pudimos mostrar el contenido</strong><p>Tu navegador bloqueó el recurso incorporado.</p><div class="ui-actions"><a class="btn btn--primary underline underline-offset-4" href="#vista-completa">Abrir la vista completa</a><a class="btn btn--secondary underline underline-offset-4" href="#descargar">Descargar alternativa</a></div></section>Código REACT
Copia el bloque completo; después cambia contenido y destinos, no su anatomía.
export interface EmbedFallbackProps {
/** Qué no se pudo mostrar; vacío lo oculta. */
title?: string;
/** Motivo: bloqueo del navegador, error del origen o formato no admitido; vacío lo oculta. */
description?: string;
/** Texto del enlace a la vista completa en el sitio del proveedor; sin él o sin `href` no se muestra. */
linkLabel?: string;
href?: string;
/** Texto del enlace a una versión descargable del contenido; sin él o sin `downloadHref` no se muestra. */
downloadLabel?: string;
downloadHref?: string;
className?: string;
}
/**
* Alternativa que reemplaza a un contenido incorporado que no cargó, con el motivo y enlaces a la vista completa o a una versión descargable.
*
* @example <EmbedFallback href="https://proveedor.example/42" downloadHref="/archivo/42.csv" />
* @example <EmbedFallback description="El origen respondió con error 503." downloadLabel="" />
*/
export function EmbedFallback({
title = "No pudimos mostrar el contenido",
description = "Tu navegador bloqueó el recurso incorporado.",
linkLabel = "Abrir la vista completa",
href = "#vista-completa",
downloadLabel = "Descargar alternativa",
downloadHref = "#descargar",
className,
}: EmbedFallbackProps) {
return (
<section className={["ui-feedback", className].filter(Boolean).join(" ")} data-embed-fallback>
{title ? <strong>{title}</strong> : null}
{description ? <p>{description}</p> : null}
{(linkLabel && href) || (downloadLabel && downloadHref) ? (
<div className="ui-actions">
{linkLabel && href ? <a className="btn btn--primary" href={href}>{linkLabel}</a> : null}
{downloadLabel && downloadHref ? <a className="btn btn--secondary" href={downloadHref}>{downloadLabel}</a> : null}
</div>
) : null}
</section>
);
}