Roving tabindex keeps a composite widget, a toolbar, a radio group, a custom menu, out of a user’s way in the page’s overall Tab order by giving only the currently active item a tabindex of 0 and every other item a tabindex of -1. Arrow keys then move focus and swap which item holds that active tabindex value.
This mirrors how native HTML controls like radio buttons already behave, and it prevents a widget with twenty items from forcing a keyboard user to press Tab twenty times just to get past it.