diff --git a/frontend/src/components/DashboardSettingsModal.jsx b/frontend/src/components/DashboardSettingsModal.jsx index 72acd8a..c80122f 100644 --- a/frontend/src/components/DashboardSettingsModal.jsx +++ b/frontend/src/components/DashboardSettingsModal.jsx @@ -257,9 +257,11 @@ const DashboardSettingsModal = ({ isOpen, onClose }) => { return (
-
diff --git a/frontend/src/components/Layout.jsx b/frontend/src/components/Layout.jsx index 64733cc..182bd41 100644 --- a/frontend/src/components/Layout.jsx +++ b/frontend/src/components/Layout.jsx @@ -308,9 +308,11 @@ const Layout = ({ children }) => {
-
setSidebarOpen(false)} + aria-label="Close sidebar" />
diff --git a/frontend/src/pages/Dashboard.jsx b/frontend/src/pages/Dashboard.jsx index a1439bc..ab0d3f1 100644 --- a/frontend/src/pages/Dashboard.jsx +++ b/frontend/src/pages/Dashboard.jsx @@ -342,9 +342,16 @@ const Dashboard = () => { ); case "totalHosts": return ( -
{ + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleTotalHostsClick(); + } + }} >
@@ -359,14 +366,21 @@ const Dashboard = () => {

-
+ ); case "hostsNeedingUpdates": return ( -
{ + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleHostsNeedingUpdatesClick(); + } + }} >
@@ -381,14 +395,21 @@ const Dashboard = () => {

-
+ ); case "totalOutdatedPackages": return ( -
{ + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleOutdatedPackagesClick(); + } + }} >
@@ -403,14 +424,21 @@ const Dashboard = () => {

-
+ ); case "securityUpdates": return ( -
{ + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleSecurityUpdatesClick(); + } + }} >
@@ -425,14 +453,21 @@ const Dashboard = () => {

-
+ ); case "totalHostGroups": return ( -
{ + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleHostGroupsClick(); + } + }} >
@@ -447,14 +482,21 @@ const Dashboard = () => {

-
+ ); case "totalUsers": return ( -
{ + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleUsersClick(); + } + }} >
@@ -469,14 +511,21 @@ const Dashboard = () => {

-
+ ); case "totalRepos": return ( -
{ + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleRepositoriesClick(); + } + }} >
@@ -491,18 +540,25 @@ const Dashboard = () => {

-
+ ); case "erroredHosts": return ( -
0 ? "bg-danger-50 border-danger-200" : "bg-success-50 border-success-200" }`} onClick={handleErroredHostsClick} + onKeyDown={(e) => { + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleErroredHostsClick(); + } + }} >
{ )}
-
+ ); case "offlineHosts": return ( -
0 ? "bg-warning-50 border-warning-200" : "bg-success-50 border-success-200" }`} onClick={handleOfflineHostsClick} + onKeyDown={(e) => { + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleOfflineHostsClick(); + } + }} >
{ )}
-
+ ); case "osDistribution": return ( -
{ + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleOSDistributionClick(); + } + }} >

OS Distribution @@ -598,14 +668,21 @@ const Dashboard = () => {
-

+ ); case "osDistributionBar": return ( -
{ + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleOSDistributionClick(); + } + }} >

OS Distribution @@ -613,14 +690,21 @@ const Dashboard = () => {
-

+ ); case "updateStatus": return ( -
{ + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handleUpdateStatusClick(); + } + }} >

Update Status @@ -631,14 +715,21 @@ const Dashboard = () => { options={updateStatusChartOptions} />

-
+ ); case "packagePriority": return ( -
{ + if (e.key === "Enter" || e.key === " ") { + e.preventDefault(); + handlePackagePriorityClick(); + } + }} >

Package Priority @@ -649,7 +740,7 @@ const Dashboard = () => { options={packagePriorityChartOptions} />

-
+ ); case "quickStats": { diff --git a/frontend/src/pages/Hosts.jsx b/frontend/src/pages/Hosts.jsx index 2c3a2bd..1bdc1fa 100644 --- a/frontend/src/pages/Hosts.jsx +++ b/frontend/src/pages/Hosts.jsx @@ -1559,8 +1559,9 @@ const Hosts = () => { {/* Stats Summary */}
-
@@ -1574,9 +1575,10 @@ const Hosts = () => {

-
-
+
-
-
+
-
-
+
-
+
{/* Hosts List */} @@ -2298,9 +2302,18 @@ const ColumnSettingsModal = ({
handleDragStart(e, index)} onDragOver={handleDragOver} onDrop={(e) => handleDrop(e, index)} + onKeyDown={(e) => { + if (e.key === 'Enter' || e.key === ' ') { + e.preventDefault(); + // Focus handling for keyboard users + } + }} className={`flex items-center justify-between p-3 border rounded-lg cursor-move ${ draggedIndex === index ? "opacity-50"