diff --git a/patterns/vsf-card-listen-fundamentalanalyse-drawer.html b/patterns/vsf-card-listen-fundamentalanalyse-drawer.html
index 50a8ace..e00c6c7 100644
--- a/patterns/vsf-card-listen-fundamentalanalyse-drawer.html
+++ b/patterns/vsf-card-listen-fundamentalanalyse-drawer.html
@@ -60,6 +60,76 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
@@ -90,6 +160,42 @@
: 'Geschäftsmodell anzeigen';
});
}
+
+ const tabGroup = document.querySelector('[data-pattern="card-gruppe-mit-tastennavigation"]');
+
+ if (tabGroup) {
+ const tabs = Array.from(tabGroup.querySelectorAll('[role="tab"]'));
+ const panels = Array.from(tabGroup.querySelectorAll('[role="tabpanel"]'));
+
+ const activateTab = (targetTab) => {
+ tabs.forEach((tab) => {
+ tab.setAttribute('aria-selected', String(tab === targetTab));
+ });
+
+ panels.forEach((panel) => {
+ panel.hidden = panel.id !== targetTab.getAttribute('aria-controls');
+ });
+ };
+
+ tabs.forEach((tab, index) => {
+ tab.addEventListener('click', () => {
+ activateTab(tab);
+ });
+
+ tab.addEventListener('keydown', (event) => {
+ if (event.key !== 'ArrowRight' && event.key !== 'ArrowLeft') {
+ return;
+ }
+
+ event.preventDefault();
+ const direction = event.key === 'ArrowRight' ? 1 : -1;
+ const nextIndex = (index + direction + tabs.length) % tabs.length;
+ const nextTab = tabs[nextIndex];
+ nextTab.focus();
+ activateTab(nextTab);
+ });
+ });
+ }