diff --git a/src/content/Components/Folder/Folder.css b/src/content/Components/Folder/Folder.css
index 717e4f0d1..878e6de77 100644
--- a/src/content/Components/Folder/Folder.css
+++ b/src/content/Components/Folder/Folder.css
@@ -120,3 +120,9 @@
transform-origin: bottom;
transition: all 0.3s ease-in-out;
}
+
+.folder:focus-visible {
+ outline: 2px solid #ffffff;
+ outline-offset: 4px;
+ border-radius: 10px;
+}
diff --git a/src/content/Components/Folder/Folder.jsx b/src/content/Components/Folder/Folder.jsx
index 121b394f7..1355e4286 100644
--- a/src/content/Components/Folder/Folder.jsx
+++ b/src/content/Components/Folder/Folder.jsx
@@ -76,7 +76,22 @@ const Folder = ({ color = '#5227FF', size = 1, items = [], className = '' }) =>
return (
-
+
{
+ if (e.key === 'Enter' || e.key === ' ') {
+ e.preventDefault();
+
+ handleClick();
+ }
+ }}
+ tabIndex={0}
+ role="button"
+ aria-expanded={open}
+ aria-label={open ? 'Close folder' : 'Open folder'}
+ >
{papers.map((item, i) => (
return (
transform: open ? 'translateY(-8px)' : undefined
}}
onClick={handleClick}
+ onKeyDown={e => {
+ if (e.key === 'Enter' || e.key === ' ') {
+ e.preventDefault();
+
+ handleClick();
+ }
+ }}
+ tabIndex={0}
+ role="button"
+ aria-expanded={open}
+ aria-label={open ? 'Close folder' : 'Open folder'}
>
= ({ color = '#5227FF', size = 1, items = []
return (
-
+
{
+ if (e.key === 'Enter' || e.key === ' ') {
+ e.preventDefault();
+ handleClick();
+ }
+ }}
+ tabIndex={0}
+ role="button"
+ aria-expanded={open}
+ aria-label={open ? 'Close folder' : 'Open folder'}
+ >
{papers.map((item, i) => (
= ({ color = '#5227FF', size = 1, items = []
return (
= ({ color = '#5227FF', size = 1, items = []
transform: open ? 'translateY(-8px)' : undefined
}}
onClick={handleClick}
+ onKeyDown={e => {
+ if (e.key === 'Enter' || e.key === ' ') {
+ e.preventDefault();
+ handleClick();
+ }
+ }}
+ tabIndex={0}
+ role="button"
+ aria-expanded={open}
+ aria-label={open ? 'Close folder' : 'Open folder'}
>