


Content goes here .. (2)
Content goes here .. (2)
Content goes here .. (2)
Content goes here .. (2)
Content goes here .. (2)


<script>
// Obtener todos los conjuntos de elementos fb-a11y-tab
const tabSets = document.querySelectorAll('.fb-a11y-tab');
// Recorrer cada conjunto de elementos fb-a11y-tab
tabSets.forEach((tabSet) => {
// Obtener el encabezado y las pestañas del conjunto actual
const header = tabSet.querySelector('.fb-a11y-tab__menu');
const tabs = tabSet.querySelectorAll('.fb-a11y-tab__item');
const contents = tabSet.querySelectorAll('.fb-a11y-tab__pane');
// Agregar el evento de clic a cada elemento de pestaña del conjunto actual
// Agregar el evento a cada elemento de pestaña del conjunto actual
tabs.forEach((tab, tabIndex) => {
/*
tab.addEventListener('mouseover', () => {
activateTab(tabIndex);
});
*/
tab.addEventListener('click', () => {
activateTab(tabIndex);
});
tab.addEventListener('focus', () => {
header.addEventListener('keydown', handleTabNavigation);
});
tab.setAttribute('aria-controls', `tabpanel-${tabIndex + 1}`);
});
// Agregar el evento de enfoque al encabezado del conjunto actual
header.addEventListener('focus', () => {
header.addEventListener('keydown', handleTabNavigation);
});
// Agregar el evento de enfoque a cada elemento de pestaña del conjunto actual
tabs.forEach((tab) => {
tab.addEventListener('focus', () => {
header.addEventListener('keydown', handleTabNavigation);
});
});
// Agregar el evento de teclado para detectar las teclas "next" y "prev" del conjunto actual
function handleTabNavigation(event) {
const activeTabIndex = Array.from(tabs).findIndex((tab) => tab.classList.contains('brx-open'));
const numTabs = tabs.length;
if (event.key === 'ArrowRight' || event.key === 'ArrowLeft') {
event.preventDefault();
const offset = event.key === 'ArrowRight' ? 1 : -1;
const nextTabIndex = (activeTabIndex + offset + numTabs) % numTabs;
activateTab(nextTabIndex);
} else if (event.key === 'Home') {
event.preventDefault();
activateTab(0);
} else if (event.key === 'End') {
event.preventDefault();
activateTab(numTabs - 1);
} else if (event.key === 'Tab' && !event.shiftKey && activeTabIndex !== -1) {
const activeContent = tabSet.querySelector('.fb-a11y-tab__content.brx-open');
if (activeContent) {
activeContent.focus();
event.preventDefault();
}
}
}
// Función para activar una pestaña específica del conjunto actual
function activateTab(tabIndex) {
tabs.forEach((tab, index) => {
const isActive = index === tabIndex;
tab.classList.toggle('brx-open', isActive);
tab.setAttribute('aria-selected', isActive);
tab.removeAttribute('tabindex');
if (isActive) {
tab.focus();
} else {
tab.setAttribute('tabindex', '-1');
}
});
contents.forEach((content, index) => {
const isActive = index === tabIndex;
content.classList.toggle('brx-open', isActive);
if (isActive) {
content.setAttribute('aria-labelledby', `tab-${tabIndex + 1}`);
}
});
}
// Activar la primera pestaña y contenido del conjunto actual
activateTab(0);
});
// Obtener todos los elementos con la clase "fb-a11y-tab__item"
var elements = document.getElementsByClassName("fb-a11y-tab__item");
// Recorrer los elementos y borrar el enfoque
for (var i = 0; i < elements.length; i++) {
elements[i].blur();
}
</script>