mirror of https://github.com/vector-im/riot-web
Merge pull request #5299 from matrix-org/t3chguy/fix/15408
Roving Tab Index should not interfere with inputspull/21833/head
commit
513eb034cc
|
@ -166,7 +166,8 @@ export const RovingTabIndexProvider: React.FC<IProps> = ({children, handleHomeEn
|
||||||
|
|
||||||
const onKeyDownHandler = useCallback((ev) => {
|
const onKeyDownHandler = useCallback((ev) => {
|
||||||
let handled = false;
|
let handled = false;
|
||||||
if (handleHomeEnd) {
|
// Don't interfere with input default keydown behaviour
|
||||||
|
if (handleHomeEnd && ev.target.tagName !== "INPUT") {
|
||||||
// check if we actually have any items
|
// check if we actually have any items
|
||||||
switch (ev.key) {
|
switch (ev.key) {
|
||||||
case Key.HOME:
|
case Key.HOME:
|
||||||
|
|
|
@ -28,6 +28,9 @@ interface IProps extends Omit<React.HTMLProps<HTMLDivElement>, "onKeyDown"> {
|
||||||
const Toolbar: React.FC<IProps> = ({children, ...props}) => {
|
const Toolbar: React.FC<IProps> = ({children, ...props}) => {
|
||||||
const onKeyDown = (ev: React.KeyboardEvent, state: IState) => {
|
const onKeyDown = (ev: React.KeyboardEvent, state: IState) => {
|
||||||
const target = ev.target as HTMLElement;
|
const target = ev.target as HTMLElement;
|
||||||
|
// Don't interfere with input default keydown behaviour
|
||||||
|
if (target.tagName === "INPUT") return;
|
||||||
|
|
||||||
let handled = true;
|
let handled = true;
|
||||||
|
|
||||||
// HOME and END are handled by RovingTabIndexProvider
|
// HOME and END are handled by RovingTabIndexProvider
|
||||||
|
|
Loading…
Reference in New Issue