File tree 2 files changed +21
-1
lines changed
2 files changed +21
-1
lines changed Original file line number Diff line number Diff line change @@ -3,10 +3,17 @@ import links from '../../config/links.json';
3
3
import Link from 'next/link' ;
4
4
import Dropdown from '../illustration/dropdown' ;
5
5
6
-
7
6
const NavDrop = forwardRef ( ( props , ref ) => {
8
7
const { setDrop} = props ;
9
8
const [ show , setShow ] = useState ( null ) ;
9
+
10
+ const handleKeyDown = ( event , linkTitle ) => {
11
+ if ( event . key === 'Enter' || event . key === ' ' ) {
12
+ event . preventDefault ( ) ;
13
+ show === linkTitle ? setShow ( null ) : setShow ( linkTitle ) ;
14
+ }
15
+ } ;
16
+
10
17
return (
11
18
< div ref = { ref } className = 'z-[99] absolute left-0 top-[74px] w-full h-screen bg-[#1B1130]/90 backdrop-filter backdrop-blur-md' >
12
19
< div className = 'flex flex-col p-5 pb-8 w-full' >
@@ -19,6 +26,8 @@ const NavDrop = forwardRef((props, ref)=> {
19
26
onClick = { ( ) =>
20
27
show === link . title ? setShow ( null ) : setShow ( link . title )
21
28
}
29
+ tabIndex = { 0 }
30
+ onKeyDown = { ( event ) => handleKeyDown ( event , link . title ) }
22
31
>
23
32
{ link . subMenu ? (
24
33
< div >
@@ -35,6 +44,7 @@ const NavDrop = forwardRef((props, ref)=> {
35
44
< div data-test = { `nav-sub-${ sub . title } ` }
36
45
onClick = { ( ) => setDrop ( false ) }
37
46
className = 'h-[40px] flex navbg items-center p-6 hover:text-black text-white cursor-pointer'
47
+ tabIndex = { 0 }
38
48
>
39
49
{ sub . title }
40
50
</ div >
Original file line number Diff line number Diff line change @@ -72,6 +72,13 @@ function Navbar() {
72
72
setShow ( null ) ;
73
73
} ;
74
74
75
+ const handleKeyDown = ( event , linkTitle ) => {
76
+ if ( event . key === 'Enter' || event . key === ' ' ) {
77
+ event . preventDefault ( ) ;
78
+ show === linkTitle ? setShow ( null ) : setShow ( linkTitle ) ;
79
+ }
80
+ } ;
81
+
75
82
return (
76
83
< div className = "relative" >
77
84
< div
@@ -114,6 +121,8 @@ function Navbar() {
114
121
onMouseLeave = { handleMouseLeave }
115
122
className = "ml-16 text-[14px] group cursor-pointer relative flex flex-col"
116
123
data-test = { `nav-${ link . title } ` }
124
+ tabIndex = { 0 }
125
+ onKeyDown = { ( event ) => handleKeyDown ( event , link . title ) }
117
126
>
118
127
< div >
119
128
{ link . subMenu ? (
@@ -150,6 +159,7 @@ function Navbar() {
150
159
< div
151
160
className = { `flex items-center ${ link . subMenu . length === 1 ? "justify-center" : "justify-start" } min-h-[32px] text-[16px] hover:scale-95 hover:translate-x-1 transition-all` }
152
161
data-test = { `nav-sub-${ subL . title } ` }
162
+ tabIndex = { 0 }
153
163
>
154
164
{ subL . title }
155
165
</ div >
You can’t perform that action at this time.
0 commit comments