diff --git a/src/renderer/common/components/dialog/publicationInfos/tag/tagButton.tsx b/src/renderer/common/components/dialog/publicationInfos/tag/tagButton.tsx index a56fdd229..50dcd7880 100644 --- a/src/renderer/common/components/dialog/publicationInfos/tag/tagButton.tsx +++ b/src/renderer/common/components/dialog/publicationInfos/tag/tagButton.tsx @@ -54,6 +54,28 @@ export const TagButton: React.FC> = (props) => { search: `?focus=tags&value=${encodeURIComponent_RFC3986(tag as string)}`, }} state={{ displayType: "list" }} + onClick={(e) => { + if (e.altKey || e.shiftKey || e.ctrlKey) { + e.preventDefault(); + e.currentTarget.click(); + } + }} + onKeyDown={(e) => { + // if (e.code === "Space") { + if (e.key === " " || e.altKey || e.ctrlKey) { + e.preventDefault(); // prevent scroll + } + }} + onKeyUp={(e) => { + // Includes screen reader tests: + // if (e.code === "Space") { WORKS + // if (e.key === "Space") { DOES NOT WORK + // if (e.key === "Enter") { WORKS + if (e.key === " ") { // WORKS + e.preventDefault(); + e.currentTarget.click(); + } + }} > {tag as string} @@ -115,7 +137,7 @@ export const TagReaderButton: React.FC> = (p } else { tagString = tag.name; } -/* +/* if (pubId && onClickDeleteCb && __) { button = ( <> diff --git a/src/renderer/library/components/catalog/Header.tsx b/src/renderer/library/components/catalog/Header.tsx index 95ee3d983..6be309d07 100644 --- a/src/renderer/library/components/catalog/Header.tsx +++ b/src/renderer/library/components/catalog/Header.tsx @@ -53,7 +53,7 @@ class Header extends React.Component { return (
-

{__("header.viewMode")}

+

{__("header.viewMode")}

{ title={__("header.gridTitle")} aria-pressed={displayType === DisplayType.Grid} role={"button"} + onClick={(e) => { + if (e.altKey || e.shiftKey || e.ctrlKey) { + e.preventDefault(); + e.currentTarget.click(); + } + }} + onKeyDown={(e) => { + // if (e.code === "Space") { + if (e.key === " " || e.altKey || e.ctrlKey) { + e.preventDefault(); // prevent scroll + } + }} + onKeyUp={(e) => { + // Includes screen reader tests: + // if (e.code === "Space") { WORKS + // if (e.key === "Space") { DOES NOT WORK + // if (e.key === "Enter") { WORKS + if (e.key === " ") { // WORKS + e.preventDefault(); + e.currentTarget.click(); + } + }} > {(displayType === DisplayType.Grid) ? : @@ -84,6 +106,28 @@ class Header extends React.Component { title={__("header.listTitle")} aria-pressed={displayType === DisplayType.List} role={"button"} + onClick={(e) => { + if (e.altKey || e.shiftKey || e.ctrlKey) { + e.preventDefault(); + e.currentTarget.click(); + } + }} + onKeyDown={(e) => { + // if (e.code === "Space") { + if (e.key === " " || e.altKey || e.ctrlKey) { + e.preventDefault(); // prevent scroll + } + }} + onKeyUp={(e) => { + // Includes screen reader tests: + // if (e.code === "Space") { WORKS + // if (e.key === "Space") { DOES NOT WORK + // if (e.key === "Enter") { WORKS + if (e.key === " ") { // WORKS + e.preventDefault(); + e.currentTarget.click(); + } + }} > {(displayType === DisplayType.List) ? : diff --git a/src/renderer/library/components/layout/BreadCrumb.tsx b/src/renderer/library/components/layout/BreadCrumb.tsx index 0c6fc820e..eda8c3b59 100644 --- a/src/renderer/library/components/layout/BreadCrumb.tsx +++ b/src/renderer/library/components/layout/BreadCrumb.tsx @@ -59,6 +59,28 @@ const LinkItemBreadcrumb = ({item: {name, path}, isTheFirstOne}: {item: IBreadCr state={{ displayType: (location.state && (location.state as IRouterLocationState).displayType) ? (location.state as IRouterLocationState).displayType : DisplayType.Grid }} title={name} className={stylesButtons.button_transparency} + onClick={(e) => { + if (e.altKey || e.shiftKey || e.ctrlKey) { + e.preventDefault(); + e.currentTarget.click(); + } + }} + onKeyDown={(e) => { + // if (e.code === "Space") { + if (e.key === " " || e.altKey || e.ctrlKey) { + e.preventDefault(); // prevent scroll + } + }} + onKeyUp={(e) => { + // Includes screen reader tests: + // if (e.code === "Space") { WORKS + // if (e.key === "Space") { DOES NOT WORK + // if (e.key === "Enter") { WORKS + if (e.key === " ") { // WORKS + e.preventDefault(); + e.currentTarget.click(); + } + }} > {isTheFirstOne ? : <>}

{name}

@@ -202,7 +224,7 @@ const BreadCrumb = () => { } { - // displayFullBreadcrumb && + // displayFullBreadcrumb && // (