Notícias Cebraspe

Avaliação de desempenho do Senai, executada pelo Cebraspe, aprimora educação profissional no país

Resultados foram apresentados no início de março durante Workshop

Os alunos do Serviço Nacional de Aprendizagem Industrial (Senai), maior complexo de educação profissional da América Latina, estão cada vez melhores no quesito aprendizagem. É o que comprova a mais nova Avaliação de Desempenho de Estudantes (ADE), aplicada pelo Cebraspe no ano passado para 18.107 estudantes, distribuídos em 813 unidades de 25 estados.

O percentual de alunos com resultado “avançado” nas provas práticas foi o maior desde 2018, primeiro ano da parceria para análise de desempenho: 59%. Considerando o Indicador de Desempenho da Avaliação Profissional (Idap) final, nove Departamentos Regionais alcançaram o valor de referência: 7,6. Dos 38 cursos avaliados nos exames práticos, a performance dos estudantes do Senai ficou acima de 90 – com destaque para os cursos da área Têxtil, cuja média alcançou a pontuação máxima de 100, Processos Gráficos (99,7), Biotecnologia (98), Alimentos (97,7) e Química (97,5).

Os dados gerais da avaliação educacional do ciclo 2021, bem como os aprendizados e os desafios que esses resultados trazem para a melhoria da qualidade da educação superior no Senai, foram apresentados pelo Cebraspe durante o primeiro dia do “12º Workshop dos Resultados da Avaliação de Desempenho dos Estudantes do Senai”. Na ocasião, os participantes puderam discutir sobre os resultados da avaliação e, principalmente, refletir sobre a utilização dos levantamentos nas intervenções pedagógicas para o ano de 2022.

“Parabenizo o Senai pela iniciativa e por criar esse espaço de debate. O Cebraspe tem uma satisfação muito grande de poder, ao longo dos últimos anos, participar desse processo de construção da avaliação do Senai de uma forma muito proativa, junto do Senai, que se desafia a todo momento a implementar novos instrumentos, trazer reflexões e melhorar esse processo avaliativo de acordo com os contextos”, disse Cláudia Griboski, Diretora Executiva do Cebraspe.

A avaliação realizada pelo Cebraspe é separada em duas etapas: prova objetiva on-line e avaliação prática. As provas objetivas foram aplicadas em dois momentos, em setembro de 2020 e de junho a setembro de 2021, e realizadas por meio do sistema para aplicação de provas on-line denominado Sistema de Aplicação de Testes Eletrônicos (Sate).

Do total de participantes, 69% obtiveram resultados nos níveis adequado e avançado nas provas objetivas, ou seja, cerca de 16,7 mil estudantes. A Avaliação de Desempenho de Estudantes também ouviu, por meio de questionários, 2.280 docentes, 380 coordenadores pedagógicos e 239 gestores.

A performance dos estudantes do Senai nos exames práticos vem melhorando visivelmente ao longo dos anos: aqueles avaliados como nível avançado eram 18,2% em 2018, chegaram a 54,7% em 2020 e em 2021 foram 59%.

“O ideal é que haja uma integração das informações e dos diferentes instrumentos para assim atingir o objetivo, que é alcançar as metas estabelecidas e garantir a educação de qualidade”, aponta Renata Manuelly de Lima, Coordenadora de Ensino, Pesquisa e Avaliação do Cebraspe.

Reflexão e desafios – Durante o evento, Claudia apresentou uma análise reflexiva dos resultados da avaliação dos estudantes realizada em 2021, apontando aprendizados e desafios que eles trazem para a melhoria da qualidade da educação superior no Senai. Para ela, normalmente, as instituições têm uma ênfase muito grande no processo avaliativo e destacam pouco tempo para a análise dos resultados, em especial para traçar um plano de ação que venha a propiciar intervenções necessárias na prática pedagógica visando a melhoria dos resultados.

“Nossa ideia é que, ao longo deste workshop, a gente possa contemplar, a partir desses resultados, planos de melhoria e propostas que venham auxiliar na melhoria do processo, tanto para os estudantes, que veem no processo avaliativo a possibilidade de melhorar a sua aprendizagem, como também para os docentes e profissionais da educação, que vislumbram nos resultados desse processo avaliativo, melhorias nas suas práticas, nas suas redes de colaboração, nas suas intervenções, na práxis acadêmica”, reforça.

Em sua apresentação, Claudia também ressaltou a importância da confiabilidade da avaliação, destacando que questões de aprendizagem devem apoiar a produção de informações e de evidências que gerem aprendizados e favoreçam os processos decisórios. “Se a avaliação é confiável, então nós temos bons instrumentos para garantir a fidedignidade dos resultados. Assim, será possível apoiar os interessados a formular, revisar e expandir suas compreensões sobre o objeto avaliado e aprender com ele, de modo que as finalidades formativas e somativas das avaliações sejam alcançadas”, disse. “O que se espera é que realmente a gente tenha a avaliação como uma rotina de melhoria da qualidade, onde não exista mais um olhar voltado para punição, mas para o que podemos fazer para melhorar. Ou seja, deve assegurar esse processo permanente de desenvolvimento da formação dos estudantes”, complementa.

Veja a íntegra da participação do Cebraspe no evento clicando aqui.

Compartilhe esta notícia

Foto de Soraya Silva

Soraya Silva

if(document.querySelector(".xpbox-shared-header")){ // Site-wide shared native shell; published links never target draft page URLs. (() => { const init=()=>{ const header=document.querySelector('.xpbox-shared-header'); if(!header)return; const main=document.querySelector('#conteudo')||document.querySelector('main')||document.querySelector('#content'); if(main){if(!main.id)main.id='xpbox-main-content';header.querySelectorAll('.skip-link a,a.skip-link').forEach(link=>link.setAttribute('href','#'+main.id));} const base='https://cebraspe.xpbox.com.br/'; const normalize=path=>path.replace(//+$/,'')||'/'; const draftHome=document.body.classList.contains('page-id-26754'); const draftHiring=document.body.classList.contains('page-id-26763'); const currentPath=draftHome?'/':draftHiring?'/contrate-o-cebraspe-xpbox':normalize(window.location.pathname); document.querySelectorAll('.xpbox-shell a[href]').forEach(link=>{ const url=new URL(link.getAttribute('href'),window.location.href); if(url.origin!==new URL(base).origin)return; if(normalize(url.pathname)==='/pagina-inicial-xpbox')url.pathname='/'; if(normalize(url.pathname)==='/como-contratar')url.pathname='/contrate-o-cebraspe-xpbox/'; if(link.getAttribute('href')==='#solicitar-proposta')url.pathname='/contrate-o-cebraspe-xpbox/'; link.setAttribute('href',url.href); }); header.querySelectorAll('#primary-menu a.nav-link').forEach(link=>{ const url=new URL(link.href,base); link.removeAttribute('aria-current'); if(url.origin===new URL(base).origin&&normalize(url.pathname)===currentPath)link.setAttribute('aria-current','page'); }); header.querySelectorAll('.language-nav a[lang="pt-BR"],.header-language-nav a[lang="pt-BR"]').forEach(link=>{ link.href=draftHome||draftHiring?window.location.href:base+window.location.pathname.replace(/^//,''); link.setAttribute('aria-current','page'); }); header.querySelectorAll('.utility-accessibility,.header-accessibility').forEach(widget=>{ const link=widget.matches('a')?widget:widget.querySelector('a'); if(link)link.setAttribute('href',draftHiring?'#acessibilidade-da-pagina':base+'avaliacoes/acessibilidade/'); }); const location=header.closest('.elementor-location-header'),utility=header.querySelector('.utility-bar'); if(location&&utility&&!location.dataset.xpboxUtilityMeasured){ location.dataset.xpboxUtilityMeasured='true'; const measure=()=>location.style.setProperty('--xpbox-utility-height',utility.offsetHeight+'px'); measure();if(window.ResizeObserver)new ResizeObserver(measure).observe(utility);else window.addEventListener('resize',measure,{passive:true}); } }; if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init(); })(); /* Behavior only. Content is rendered by native Elementor widgets. */ (() => { const init = () => { const page=document.querySelector('.xpbox-page'); document.querySelectorAll(':is(.xpbox-page,.xpbox-shell) :is(.menu-toggle,.nav-disclosure,[data-text-scale],[data-contrast-toggle],.carousel-button,[data-submit-button])').forEach(widget=>{ const button=widget.querySelector('.elementor-button'); if(!button||button.dataset.xpboxMirrored)return; button.dataset.xpboxMirrored='true'; button.addEventListener('click',e=>e.preventDefault()); button.setAttribute('role','button'); button.addEventListener('keydown',e=>{if(e.key===' '){e.preventDefault();button.click();}}); const mirror=()=>['aria-expanded','aria-pressed','aria-label','aria-disabled'].forEach(name=>{ if(widget.hasAttribute(name))button.setAttribute(name,widget.getAttribute(name)); }); mirror();new MutationObserver(mirror).observe(widget,{attributes:true,attributeFilter:['aria-expanded','aria-pressed','aria-label','aria-disabled']}); }); if(!page||page.dataset.xpboxReady)return; page.dataset.xpboxReady='true'; const form=page.querySelector('.xpbox-request-form'); if(!form)return; const profile=form.querySelector('.xpbox-profile-form form'); const fields=form.querySelector('.institution-fields'); const status=form.querySelector('#route-status'); const response=form.querySelector('#response-panel'); const errorSummary=form.querySelector('#error-summary'); const errorList=errorSummary.querySelector('.xpbox-tag-ul'); const live=form.querySelector('[data-form-live]'); const submit=form.querySelector('[data-submit-button]'); const submitAnchor=submit.querySelector('a'); const submitLabel=submit.querySelector('[data-submit-label]'); fields.hidden=true; form.querySelectorAll('.xpbox-field-form').forEach(widget=>{ const input=widget.querySelector('input:not([type=hidden]),select,textarea'); if(!input)return; const label=widget.parentElement.querySelector('.xpbox-tag-label'); if(label){label.id='xpbox-label-'+input.id;input.setAttribute('aria-labelledby',label.id);} for(const [key,value] of Object.entries(widget.dataset)){ if(!key.startsWith('input'))continue; const attr=key.slice(5).replace(/[A-Z]/g,c=>'-'+c.toLowerCase()).replace(/^-/,''); input.setAttribute(attr,value); } }); const setStatus=(target,text,href,label)=>{ target.replaceChildren(document.createTextNode(text)); if(href){const a=document.createElement('a');a.href=href;a.textContent=label;target.append(a);} target.hidden=false;target.setAttribute('role','status');target.tabIndex=-1;target.focus(); }; // No Elementor AJAX, email or file upload in the demonstration. form.addEventListener('submit',event=>{ event.preventDefault();event.stopImmediatePropagation(); if(event.target!==profile)return; const selected=profile.querySelector('input:checked')?.value; if(!selected){form.querySelector('#profile-error').textContent='Selecione um perfil antes de continuar.';return;} form.querySelector('#profile-error').textContent=''; form.classList.toggle('is-institution',selected==='instituicao'); fields.hidden=selected!=='instituicao'; if(selected==='instituicao'){ status.hidden=true; const heading=form.querySelector('#institution-form-title'); heading?.focus();heading?.scrollIntoView({behavior:'smooth',block:'center'}); }else if(selected==='candidato')setStatus(status,'Atendimento ao candidato. Consulte o ','/fale-conosco/','Fale com o Cebraspe ou a página da sua seleção.'); else if(selected==='aplicador')setStatus(status,'Atendimento ao aplicador. Acesse a área ','/colaborador/','Para o colaborador para orientações sobre atividades de campo.'); },true); let attempts=0,busy=false; const validate=()=>{ errorList.replaceChildren();errorSummary.hidden=true; form.querySelectorAll('.field-error').forEach(error=>error.textContent=''); const inputs=[...fields.querySelectorAll('.elementor-field:not([type=hidden])')]; const invalid=[]; for(const input of inputs){ input.setCustomValidity('');input.removeAttribute('aria-invalid'); if(input.id==='form-field-telefone'&&input.value&&!/^d{10,11}$/.test(input.value.replace(/D/g,'')))input.setCustomValidity('Informe DDD e número, com 10 ou 11 dígitos.'); if(input.id==='form-field-uf'&&input.value&&!/^[a-z]{2}$/i.test(input.value))input.setCustomValidity('Use a sigla da unidade federativa com duas letras.'); if(input.id==='form-field-descricao'&&input.value&&input.value.trim().length{e.preventDefault();input.focus();});item.append(link);errorList.append(item);invalid.push(input); } } if(invalid.length){errorSummary.hidden=false;errorSummary.focus();return false;} return true; }; const simulate=()=>{ if(busy||!validate())return; busy=true;response.hidden=true;form.setAttribute('aria-busy','true'); submitAnchor.setAttribute('aria-disabled','true');submitLabel.textContent='Enviando demonstração...'; live.textContent='Enviando demonstração. Nenhum dado será transmitido.'; attempts++; window.setTimeout(()=>{ const failed=attempts===1; response.classList.toggle('is-error',failed); response.querySelector('.xpbox-response-failure').hidden=!failed; response.querySelector('.xpbox-response-success').hidden=failed; response.querySelectorAll('[data-response-value]').forEach(widget=>{ const target=widget.querySelector('p')||widget.querySelector('.elementor-widget-container'); target.textContent=form.querySelector('#form-field-'+widget.dataset.responseValue)?.value||''; }); const email=form.querySelector('#form-field-email')?.value||''; const note=response.querySelector('[data-email-expectation]'); (note.querySelector('p')||note.querySelector('.elementor-widget-container')).textContent=`Na produção, uma confirmação automática com protocolo, resumo e prazo seria enviada para ${email}. Este protótipo não enviou e-mail.`; response.hidden=false;response.focus();busy=false;form.removeAttribute('aria-busy'); submitAnchor.setAttribute('aria-disabled','false');submitLabel.textContent='Solicitar proposta'; live.textContent=failed?'Falha demonstrativa. As informações foram preservadas e a solicitação pode ser tentada novamente.':'Simulação concluída. Protocolo fictício e resumo disponíveis.'; },800); }; submit.addEventListener('click',event=>{event.preventDefault();simulate();}); form.querySelector('[data-prototype-retry]')?.addEventListener('click',event=>{event.preventDefault();simulate();}); fields.addEventListener('input',event=>{ if(!event.target.matches('input,select,textarea'))return; event.target.setCustomValidity('');event.target.removeAttribute('aria-invalid'); const error=form.querySelector('#'+event.target.id.replace('form-field-','')+'-error');if(error)error.textContent=''; response.hidden=true;live.textContent=''; }); }; if(document.readyState==='loading')document.addEventListener('DOMContentLoaded',init);else init(); })(); (() => { /* XPBOX editor-safe global search 20260916: editor canvas must remain editable. */ const isElementorEditor = document.body.classList.contains('elementor-editor-active') || Boolean(window.elementor?.isEditMode?.()); if (isElementorEditor) { const overlay = document.querySelector('.xpbox-shared-header #global-search'); if (overlay) { overlay.hidden = true; overlay.setAttribute('aria-hidden', 'true'); overlay.style.display = 'none'; } return; } const header = document.querySelector('.xpbox-shared-header .site-header'); const menuToggle = header?.querySelector('.menu-toggle'); const primaryMenu = header?.querySelector('#primary-menu'); if (!header || !menuToggle || !primaryMenu || header.dataset.globalHeaderReady === 'true') return; header.dataset.globalHeaderReady = 'true'; const megaItems = Array.from(primaryMenu.querySelectorAll('.nav-item')).filter((item) => item.querySelector('.submenu-panel')); const desktopMegaCapable = window.matchMedia('(min-width: 1280px) and (hover: hover) and (pointer: fine)'); const searchToggle = header.querySelector('.global-search-toggle'); const searchOverlay = document.querySelector('.xpbox-shared-header #global-search'); const searchClose = searchOverlay?.querySelector('.search-close'); const searchInput = searchOverlay?.querySelector('.elementor-search-form__input'); let closeMegaTimer; let pinnedMegaItem = null; let searchReturnFocus = null; document.querySelectorAll('.xpbox-shared-header [data-language-choice][aria-disabled="true"]').forEach((link) => { link.addEventListener('click', (event) => { event.preventDefault(); visualStatus.textContent = `${link.dataset.languageChoice}: tradução pendente de revisão humana e integração no WordPress.`; }); }); const textScaleButtons = Array.from(document.querySelectorAll('.xpbox-shared-header [data-text-scale]')); const contrastButtons = Array.from(document.querySelectorAll('.xpbox-shared-header [data-contrast-toggle]')); const visualStatus = document.createElement('span'); const allowedScales = [0.9, 1, 1.1]; let visualScale = 1; let highContrast = false; visualStatus.className = 'sr-only'; visualStatus.setAttribute('role', 'status'); visualStatus.setAttribute('aria-live', 'polite'); header.appendChild(visualStatus); try { const storedScale = Number(window.sessionStorage.getItem('cebraspe-text-scale')); if (allowedScales.includes(storedScale)) visualScale = storedScale; highContrast = window.sessionStorage.getItem('cebraspe-high-contrast') === 'true'; } catch { visualScale = 1; highContrast = false; } const syncVisualPreferences = (announcement = '') => { document.body.style.zoom = visualScale === 1 ? '' : String(visualScale); document.documentElement.toggleAttribute('data-high-contrast', highContrast); if (highContrast) document.documentElement.setAttribute('data-high-contrast', 'true'); textScaleButtons.forEach((button) => { const direction = button.dataset.textScale; button.disabled = direction === 'increase' ? visualScale === 1.1 : visualScale === 0.9; }); contrastButtons.forEach((button) => button.setAttribute('aria-pressed', String(highContrast))); if (announcement) visualStatus.textContent = announcement; }; textScaleButtons.forEach((button) => { button.addEventListener('click', () => { const currentIndex = allowedScales.indexOf(visualScale); const offset = button.dataset.textScale === 'increase' ? 1 : -1; visualScale = allowedScales[Math.max(0, Math.min(allowedScales.length - 1, currentIndex + offset))]; try { window.sessionStorage.setItem('cebraspe-text-scale', String(visualScale)); } catch {} syncVisualPreferences(`Tamanho do texto ajustado para ${Math.round(visualScale * 100)}%.`); }); }); contrastButtons.forEach((button) => { button.addEventListener('click', () => { highContrast = !highContrast; try { window.sessionStorage.setItem('cebraspe-high-contrast', String(highContrast)); } catch {} syncVisualPreferences(highContrast ? 'Contraste elevado ativado.' : 'Contraste padrão restaurado.'); }); }); syncVisualPreferences(); const setMenuOpen = (isOpen) => { menuToggle.setAttribute('aria-expanded', String(isOpen)); menuToggle.setAttribute('aria-label', isOpen ? 'Fechar menu' : 'Abrir menu'); header.classList.toggle('is-menu-open', isOpen); }; const setMegaOpen = (item, isOpen) => { item.classList.toggle('is-mega-open', isOpen); const disclosure = item.querySelector('.nav-disclosure'); const sectionName = item.querySelector('.nav-link')?.textContent.trim() || 'seção'; disclosure?.setAttribute('aria-expanded', String(isOpen)); disclosure?.setAttribute('aria-label', `${isOpen ? 'Fechar' : 'Abrir'} submenu ${sectionName}`); }; const closeAllMega = (exceptItem = null) => { window.clearTimeout(closeMegaTimer); megaItems.forEach((item) => { if (item !== exceptItem) setMegaOpen(item, false); }); if (!exceptItem || pinnedMegaItem !== exceptItem) pinnedMegaItem = null; }; const openMega = (item, pin = false) => { window.clearTimeout(closeMegaTimer); closeAllMega(item); setMegaOpen(item, true); if (pin) pinnedMegaItem = item; }; const closeMegaWithDelay = (item) => { window.clearTimeout(closeMegaTimer); closeMegaTimer = window.setTimeout(() => { if (!pinnedMegaItem) setMegaOpen(item, false); }, 260); }; const openSearch = () => { if (!searchOverlay || !searchToggle) return; searchReturnFocus = document.activeElement instanceof HTMLElement ? document.activeElement : searchToggle; closeAllMega(); setMenuOpen(false); searchOverlay.hidden = false; searchToggle.setAttribute('aria-expanded', 'true'); searchToggle.setAttribute('aria-label', 'Fechar busca'); document.body.style.overflow = 'hidden'; window.setTimeout(() => searchInput?.focus(), 0); }; const closeSearch = (returnFocus = false) => { if (!searchOverlay || !searchToggle) return; searchOverlay.hidden = true; searchToggle.setAttribute('aria-expanded', 'false'); searchToggle.setAttribute('aria-label', 'Abrir busca'); document.body.style.overflow = ''; if (returnFocus) searchReturnFocus?.focus(); searchReturnFocus = null; }; menuToggle.addEventListener('click', () => { const isOpen = menuToggle.getAttribute('aria-expanded') === 'true'; setMenuOpen(!isOpen); if (isOpen) { closeAllMega(); } else { window.setTimeout(() => primaryMenu.querySelector('a[href], button')?.focus(), 0); } }); megaItems.forEach((item) => { const trigger = item.querySelector('.nav-disclosure'); if (!trigger) return; trigger.addEventListener('click', () => { const isOpen = item.classList.contains('is-mega-open'); const isPinned = pinnedMegaItem === item; if (isOpen && isPinned) { closeAllMega(); return; } openMega(item, true); }); item.addEventListener('mouseenter', () => { if (desktopMegaCapable.matches && !pinnedMegaItem) openMega(item); }); item.addEventListener('mouseleave', () => { if (desktopMegaCapable.matches && !pinnedMegaItem) closeMegaWithDelay(item); }); }); primaryMenu.addEventListener('click', (event) => { if (event.target instanceof Element && event.target.closest('a') && !event.target.closest('.nav-disclosure')) { setMenuOpen(false); closeAllMega(); } }); document.addEventListener('click', (event) => { if (event.target instanceof Node && !primaryMenu.contains(event.target)) closeAllMega(); }); searchClose?.addEventListener('click', () => closeSearch(true)); searchOverlay?.addEventListener('click', (event) => { if (event.target === searchOverlay) closeSearch(true); if (event.target instanceof Element && event.target.closest('a')) closeSearch(); }); document.addEventListener('keydown', (event) => { if (event.key === 'Tab' && searchOverlay && !searchOverlay.hidden) { const focusable = Array.from(searchOverlay.querySelectorAll('a[href], button:not([disabled]), input:not([disabled])')); const first = focusable[0]; const last = focusable[focusable.length - 1]; if (!first || !last) { event.preventDefault(); return; } if (event.shiftKey && document.activeElement === first) { event.preventDefault(); last.focus(); } else if (!event.shiftKey && document.activeElement === last) { event.preventDefault(); first.focus(); } return; } if (event.key !== 'Escape') return; if (searchOverlay && !searchOverlay.hidden) { closeSearch(true); return; } const menuWasOpen = menuToggle.getAttribute('aria-expanded') === 'true'; const openItem = megaItems.find((item) => item.classList.contains('is-mega-open')); closeAllMega(); setMenuOpen(false); if (menuWasOpen) menuToggle.querySelector('a')?.focus(); else if (openItem) openItem.querySelector('.nav-disclosure a')?.focus(); }); })(); (() => { const reducedMotion = window.matchMedia('(prefers-reduced-motion: reduce)'); const carousel = document.querySelector('.xpbox-page [data-carousel]'); if (carousel) { const track = carousel.querySelector('[data-carousel-track]'); const pages = Array.from(track.children); const previous = carousel.querySelector('[data-carousel-previous]'); const next = carousel.querySelector('[data-carousel-next]'); const toggle = carousel.querySelector('[data-carousel-toggle]'); const toggleLabel = carousel.querySelector('[data-carousel-toggle-label]') || document.createElement('span'); const controls = carousel.querySelector('.carousel-controls'); const position = carousel.querySelector('[data-carousel-position]'); const announcement = carousel.querySelector('[data-carousel-announcement]'); let current = 0; let timer = null; let explicitlyPaused = reducedMotion.matches; let pointerPaused = false; let focusPaused = false; let touchStartX = null; const desktopCarousel = window.matchMedia('(min-width: 641px)'); const itemsPerView = () => desktopCarousel.matches ? 5 : 1; const totalViews = () => Math.ceil(pages.length / itemsPerView()); const isPaused = () => explicitlyPaused || pointerPaused || focusPaused; const syncTimer = () => { window.clearInterval(timer); timer = null; if (!isPaused()) { timer = window.setInterval(() => showPage(current + 1, false), 9000); } toggle.dataset.state = explicitlyPaused ? 'paused' : 'playing'; toggleLabel.textContent = explicitlyPaused ? 'Reproduzir' : 'Pausar'; toggle.setAttribute('aria-label', explicitlyPaused ? 'Reproduzir carrossel' : 'Pausar carrossel'); }; const showPage = (nextIndex, manual) => { current = (nextIndex + totalViews()) % totalViews(); track.style.transform = `translateX(-${current * 100}%)`; pages.forEach((page, index) => { const firstVisible = current * itemsPerView(); const active = index >= firstVisible && index showPage(current - 1, true)); next.addEventListener('click', () => showPage(current + 1, true)); toggle.addEventListener('click', () => { explicitlyPaused = !explicitlyPaused; syncTimer(); announcement.textContent = explicitlyPaused ? 'Rotação automática pausada.' : 'Rotação automática reproduzindo.'; }); carousel.addEventListener('pointerenter', () => { pointerPaused = true; syncTimer(); }); carousel.addEventListener('pointerleave', () => { pointerPaused = false; syncTimer(); }); carousel.addEventListener('focusin', () => { focusPaused = true; syncTimer(); }); carousel.addEventListener('focusout', (event) => { if (event.relatedTarget instanceof Node && carousel.contains(event.relatedTarget)) return; focusPaused = false; syncTimer(); }); carousel.addEventListener('touchstart', (event) => { touchStartX = event.changedTouches[0]?.clientX ?? null; }, { passive: true }); carousel.addEventListener('touchend', (event) => { if (touchStartX === null) return; const distance = (event.changedTouches[0]?.clientX ?? touchStartX) - touchStartX; if (Math.abs(distance) > 48) showPage(current + (distance { if (reducedMotion.matches) explicitlyPaused = true; syncTimer(); }); desktopCarousel.addEventListener('change', () => { current = 0; showPage(0, false); syncTimer(); }); } })();}