1(() => { 2 'use strict'; 3 const root = document.querySelector('body.page-id-1733 #bbphs-sections'); 4 if (!root) return; 5 const tabs = [...root.querySelectorAll('[role="tab"]')]; 6 const panels = [...root.querySelectorAll('[role="tabpanel"]')]; 7 function select(index) { 8 tabs.forEach((tab, i) => { 9 tab.setAttribute('aria-selected', String(i === index)); 10 tab.tabIndex = i === index ? 0 : -1; 11 panels[i].hidden = i !== index; 12 }); 13 } 14 tabs.forEach((tab, index) => { 15 tab.addEventListener('click', () => select(index)); 16 tab.addEventListener('keydown', event => { 17 let next; 18 if (event.key === 'ArrowRight') next = (index + 1) % tabs.length; 19 else if (event.key === 'ArrowLeft') next = (index + tabs.length - 1) % tabs.length; 20 else if (event.key === 'Home') next = 0; 21 else if (event.key === 'End') next = tabs.length - 1; 22 else return; 23 event.preventDefault(); select(next); tabs[next].focus(); 24 }); 25 }); 26})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.