Reliable Keys for YouTube Player

Removes the tabindex attribute from the YouTube player's controls, so that left/right keys always perform seeking and up/down keys always perform volume adjustments.

K instalaci tototo skriptu si budete muset nainstalovat rozšíření jako Tampermonkey, Greasemonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Violentmonkey.

K instalaci tohoto skriptu si budete muset nainstalovat rozšíření jako Tampermonkey nebo Userscripts.

You will need to install an extension such as Tampermonkey to install this script.

K instalaci tohoto skriptu si budete muset nainstalovat manažer uživatelských skriptů.

(Už mám manažer uživatelských skriptů, nechte mě ho nainstalovat!)

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install an extension such as Stylus to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

You will need to install a user style manager extension to install this style.

(Už mám manažer uživatelských stylů, nechte mě ho nainstalovat!)

// ==UserScript==
// @name         Reliable Keys for YouTube Player
// @namespace    https://youtube.com/
// @version      1.0
// @description  Removes the tabindex attribute from the YouTube player's controls, so that left/right keys always perform seeking and up/down keys always perform volume adjustments.
// @author       timtimtimaroo
// @match        *://www.youtube.com/*
// @grant        none
// @license      copyright
// ==/UserScript==

(function() {
    'use strict';

    function removeTabindex() {
        ['.ytp-progress-bar', '.ytp-volume-panel'].flatMap(s => [...document.querySelectorAll(s)]).forEach(panel => {
            if (panel.hasAttribute('tabindex')) {
                panel.removeAttribute('tabindex');
                console.log("[Reliable Keys for YouTube Player] Removed tabindex from:", panel);
            }
        });
    }

    // Run once on load
    removeTabindex();

    // Observe for changes in the page (useful for SPA behavior)
    const observer = new MutationObserver(removeTabindex);
    observer.observe(document.body, { childList: true, subtree: true });

})();