Marquee
StableFaixa horizontal que rola continuamente — logos, tags, novidades. O laço é do `react-fast-marquee`; o que o Up Web DS acrescenta é o que a biblioteca deixa para quem a usa: as cópias que ela renderiza para preencher a faixa ficam fora da árvore de acessibilidade e do Tab, o foco dentro dela para o laço e o traz de volta ao início, e sob movimento reduzido a faixa vira uma linha estática que quebra. É conteúdo ambiente: nada nela pode ser o único lugar onde uma informação existe, e uma faixa cujo conteúdo importa vem com um controle de pausa.
Instalação
npx up-web-ds add marqueePreview
Basic
With Fades
Reversed
With Links
Pausable
All states
Basic
With Fades
Reversed
With Links
Pausable
Usage
Props
Marquee
Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).
MarqueeContent
Estende Omit< FastMarqueeProps, 'gradient' | 'gradientColor' | 'gradientWidth' | 'ref' >. Aceita também os atributos padrão de um elemento React (1 não listados).
MarqueeFade
Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).
MarqueeItem
Estende React.ComponentProps<'div'>. Aceita também os atributos padrão de um elemento React (280 não listados).
prop obrigatória.
Composition
O Marquee é a moldura que recorta a faixa e ancora os fades; o MarqueeContent é a faixa que se move, com um MarqueeItem por entrada. Os fades são irmãos da faixa, um em cada borda.
Metadata
Notas de acessibilidade
Verificado em tests/e2e/marquee.spec.ts no Chromium desktop e mobile, em light e dark. Teclado verificado em navegador: Tab visita cada link da faixa uma única vez e depois sai dela, porque as cópias que a biblioteca renderiza são inert; com o foco dentro, o laço para e a faixa volta ao início, então o link focado fica visível em vez de congelado além da borda (WCAG 2.2 SC 2.4.11), e o laço retoma quando o foco sai. Pausa (SC 2.2.2): o hover pausa, o foco para, e o exemplo pausable mostra o controle que uma faixa com conteúdo relevante precisa — um botão antes da faixa, alcançável por Tab e acionável por Enter, cujo rótulo diz o que ele fará. Leitor de tela verificado por teste e pela árvore de acessibilidade do navegador: cada item é exposto uma vez, as cópias são aria-hidden e os fades são decorativos. Axe sem violações WCAG 2.2 AA nos exemplos. Toque verificado em viewport de 375px com emulação de toque: os links e o controle de pausa medem pelo menos 24x24, o toque no controle pausa a faixa, e os fades não interceptam o toque. Reduced motion verificado em navegador com prefers-reduced-motion: reduce — o laço é decorativo, então não roda: a faixa é renderizada uma vez, estática, numa linha que quebra, com cada item visível e nenhum cortado; os fades somem porque nada passa da borda, e o controle de pausa some porque não há o que pausar. A classe também carrega a condição, então o laço não roda nem no quadro anterior à leitura da preferência. A biblioteca injeta a própria folha de estilo com o keyframe global `scroll` e as classes `.rfm-*`.
Classificação
- Layer
- Component
- Domínio
- Application
- Categoria
- data-display
- Status
- Stable
Origem e distribuição
- Fonte
- kibo registry / marquee
- Licença
- MIT
- Distribuição
- Interna
Acessibilidade
- Teclado: revisado
- Leitor de tela: revisado
- Touch: revisado
- Reduced motion: revisado
Dependências
- Pacotes
- react-fast-marquee
- Ícones
- Nenhum
- Construído sobre
- Nenhum
- Usado por
- Nenhum ainda