{
value={newAuthor?.name ?? ''}
ref={newAuthorNameRef}
onKeyDown={handleKeydownNewAuthor}
+ aria-label="name"
/>
|
@@ -196,6 +197,7 @@ export const AuthorsTable = ({ editable }: { editable: boolean }) => {
onChange={handleNewAffChange}
value={newAuthor?.aff ?? ''}
onKeyDown={handleKeydownNewAuthor}
+ aria-label="affiliation"
/>
|
@@ -204,6 +206,7 @@ export const AuthorsTable = ({ editable }: { editable: boolean }) => {
onChange={handleNewOrcidChange}
value={newAuthor?.orcid ?? ''}
onKeyDown={handleKeydownNewAuthor}
+ aria-label="orcid"
/>
|
@@ -223,7 +226,7 @@ export const AuthorsTable = ({ editable }: { editable: boolean }) => {
- |
+ No. |
Name |
Affiliation |
ORCiD |
diff --git a/src/components/FeedbackForms/MissingRecord/ReferencesField.tsx b/src/components/FeedbackForms/MissingRecord/ReferencesField.tsx
index 45b5ce814..248127802 100644
--- a/src/components/FeedbackForms/MissingRecord/ReferencesField.tsx
+++ b/src/components/FeedbackForms/MissingRecord/ReferencesField.tsx
@@ -151,7 +151,7 @@ export const ReferencesTable = ({ editable }: { editable: boolean }) => {
- |
+ No. |
Type |
Reference |
{editable && Actions | }
diff --git a/src/components/FeedbackForms/MissingRecord/UrlsField.tsx b/src/components/FeedbackForms/MissingRecord/UrlsField.tsx
index c50219504..5d71b3eba 100644
--- a/src/components/FeedbackForms/MissingRecord/UrlsField.tsx
+++ b/src/components/FeedbackForms/MissingRecord/UrlsField.tsx
@@ -173,7 +173,7 @@ export const UrlsTable = ({ editable }: { editable: boolean }) => {
- |
+ No. |
Type |
URL |
{editable && Actions | }
diff --git a/src/components/FeedbackForms/MissingReferences/MissingReferenceTable.tsx b/src/components/FeedbackForms/MissingReferences/MissingReferenceTable.tsx
index 372d1d592..af4b6f2e6 100644
--- a/src/components/FeedbackForms/MissingReferences/MissingReferenceTable.tsx
+++ b/src/components/FeedbackForms/MissingReferences/MissingReferenceTable.tsx
@@ -111,7 +111,7 @@ export const MissingReferenceTable = () => {
- |
+ No. |
Citing Bibcode |
Cited Bibcode |
Actions |
diff --git a/src/components/Libraries/CollabTable.tsx b/src/components/Libraries/CollabTable.tsx
index d0db5a9a4..0db1d903e 100644
--- a/src/components/Libraries/CollabTable.tsx
+++ b/src/components/Libraries/CollabTable.tsx
@@ -196,10 +196,10 @@ export const CollabTable = ({ id }: { id: LibraryIdentifier }) => {
- |
+ No. |
Email |
Permission |
- |
+ Action |
diff --git a/src/components/Libraries/LibraryEntityPane.tsx b/src/components/Libraries/LibraryEntityPane.tsx
index 81b5ceb06..13a567554 100644
--- a/src/components/Libraries/LibraryEntityPane.tsx
+++ b/src/components/Libraries/LibraryEntityPane.tsx
@@ -342,7 +342,7 @@ export const LibraryEntityPane = ({ id, publicView }: ILibraryEntityPaneProps) =
)}
-
+
{name}
@@ -528,6 +528,7 @@ const BulkMenu = ({
onChange={handleChange}
mr={2}
data-testid="select-all-checkbox"
+ aria-label="select or deselect all"
/>
{selectedDocs.length > 0 && (
diff --git a/src/components/Libraries/LibraryListTable.tsx b/src/components/Libraries/LibraryListTable.tsx
index e444d5819..fcedc4e1d 100644
--- a/src/components/Libraries/LibraryListTable.tsx
+++ b/src/components/Libraries/LibraryListTable.tsx
@@ -53,13 +53,13 @@ type SortDirection = 'asc' | 'desc';
const columns: { id: Column; heading: string; sortable: boolean; hint?: string }[] = [
{
id: 'public',
- heading: '',
+ heading: 'Visibility',
sortable: false,
hint: 'public or private',
},
{
id: 'num_users',
- heading: '',
+ heading: 'Users',
sortable: false,
hint: 'number of collaborators',
},
@@ -192,7 +192,7 @@ export const LibraryListTable = (props: ILibraryListTableProps) => {
- {!isMobile && (selectable || showIndex) && | }
+ {!isMobile && (selectable || showIndex) && Select | }
{columns.map((column) => (
{allHiddenCols.indexOf(column.id) === -1 && (
@@ -269,7 +269,12 @@ export const LibraryListTable = (props: ILibraryListTableProps) => {
{showIndex && `${pageSize * pageIndex + index + 1} `}
{selectable && (
-
+
)}
|
)}
diff --git a/src/components/Libraries/LibrarySettingsPane.tsx b/src/components/Libraries/LibrarySettingsPane.tsx
index ccc5cdc53..ebeca6d78 100644
--- a/src/components/Libraries/LibrarySettingsPane.tsx
+++ b/src/components/Libraries/LibrarySettingsPane.tsx
@@ -211,6 +211,7 @@ export const LibrarySettingsPane = ({ id, isFromLanding = false }: ISettingsPane
href={isFromLanding ? '/user/libraries' : `/user/libraries/${id}`}
display="inline"
data-testid="settings-back-btn"
+ aria-label="Back to library"
>
diff --git a/src/components/Libraries/OperationModal.tsx b/src/components/Libraries/OperationModal.tsx
index 9238abcf0..826b0b564 100644
--- a/src/components/Libraries/OperationModal.tsx
+++ b/src/components/Libraries/OperationModal.tsx
@@ -197,7 +197,7 @@ export const OperationModal = ({
name="action"
control={control}
render={({ field: { ref, ...rest } }) => (
-
+
Union
diff --git a/src/components/NavBar/FeedbackDropdown.tsx b/src/components/NavBar/FeedbackDropdown.tsx
index 7e62b2aff..8c6cbcd9b 100644
--- a/src/components/NavBar/FeedbackDropdown.tsx
+++ b/src/components/NavBar/FeedbackDropdown.tsx
@@ -1,8 +1,9 @@
import { ChevronDownIcon } from '@chakra-ui/icons';
-import { HStack, List, ListItem, Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/react';
+import { DarkMode, HStack, Link, List, ListItem, Menu, MenuButton, MenuItem, MenuList } from '@chakra-ui/react';
import { useRouter } from 'next/router';
import { MouseEvent, ReactElement } from 'react';
import { ListType } from './types';
+import { useColorModeColors } from '@/lib/useColorModeColors';
export const feedbackItems = {
record: {
@@ -45,19 +46,7 @@ export const FeedbackDropdown = (props: IFeedbackDropdownProps): ReactElement =>
const { type, onFinished } = props;
const items = Object.values(feedbackItems);
const router = useRouter();
-
- const handleAccordionClick = (e: MouseEvent) => {
- if (typeof onFinished === 'function') {
- // Allow the default navigation but also close the drawer.
- // Use setTimeout so the drawer closes after the click propagates.
- setTimeout(() => onFinished(), 0);
- }
-
- // If Cmd/Ctrl+Click, let the browser handle natively (new tab)
- if (e.metaKey || e.ctrlKey) {
- return;
- }
- };
+ const colors = useColorModeColors();
return type === ListType.DROPDOWN ? (
) : (
+
+
+
+ );
+};
+
+const SideFeedbackMenu = ({ onFinished }: { onFinished?: () => void }) => {
+ const items = Object.values(feedbackItems);
+
+ const colors = useColorModeColors();
+
+ const router = useRouter();
+
+ const handleAccordionClick = (e: MouseEvent) => {
+ if (typeof onFinished === 'function') {
+ // Allow the default navigation but also close the drawer.
+ // Use setTimeout so the drawer closes after the click propagates.
+ setTimeout(() => onFinished(), 0);
+ }
+
+ // If Cmd/Ctrl+Click, let the browser handle natively (new tab)
+ if (e.metaKey || e.ctrlKey) {
+ return;
+ }
+ };
+
+ return (
{items.map((item) => (
-
{item.label}
-
+
))}
diff --git a/src/components/Pagination/ControlledPaginationControls.tsx b/src/components/Pagination/ControlledPaginationControls.tsx
index bb704f993..88883d46a 100644
--- a/src/components/Pagination/ControlledPaginationControls.tsx
+++ b/src/components/Pagination/ControlledPaginationControls.tsx
@@ -42,6 +42,7 @@ export const ControlledPaginationControls = (props: IControlledPaginationControl
onChange={(e) => onChangePageSize(e.target.value ? (Number(e.target.value) as NumPerPageType) : 10)}
size="sm"
data-testid="page-size-selector"
+ aria-label="page size"
>
diff --git a/src/components/Pagination/PaginationControls.tsx b/src/components/Pagination/PaginationControls.tsx
index 2514d2f36..5ac6d0e70 100644
--- a/src/components/Pagination/PaginationControls.tsx
+++ b/src/components/Pagination/PaginationControls.tsx
@@ -27,6 +27,7 @@ export const PaginationControls = (props: IPaginationControlsP
onChange={(e) => table.setPageSize(e.target.value ? Number(e.target.value) : 10)}
size="sm"
display={{ base: 'none', sm: 'block' }}
+ aria-label="numbers per page"
>
diff --git a/src/components/RecaptchaMessage/RecaptchaMessage.tsx b/src/components/RecaptchaMessage/RecaptchaMessage.tsx
index db8ff646c..a35e63d03 100644
--- a/src/components/RecaptchaMessage/RecaptchaMessage.tsx
+++ b/src/components/RecaptchaMessage/RecaptchaMessage.tsx
@@ -3,7 +3,7 @@ import { SimpleLink } from '@/components/SimpleLink';
export const RecaptchaMessage = (props: TextProps) => {
return (
-
+
This site is protected by reCAPTCHA and the Google
{' '}
diff --git a/src/components/SearchFacet/SearchFacetModal/SelectedList.tsx b/src/components/SearchFacet/SearchFacetModal/SelectedList.tsx
index ba9caaec0..294b1a8b4 100644
--- a/src/components/SearchFacet/SearchFacetModal/SelectedList.tsx
+++ b/src/components/SearchFacet/SearchFacetModal/SelectedList.tsx
@@ -1,4 +1,4 @@
-import { BoxProps, Flex, IconButton, Tag, TagCloseButton, TagLabel, Wrap } from '@chakra-ui/react';
+import { BoxProps, Flex, IconButton, Tag, TagCloseButton, TagLabel, Wrap, WrapItem } from '@chakra-ui/react';
import { useFacetStore } from '@/components/SearchFacet/store/FacetStore';
import { isEmpty } from 'ramda';
import { MouseEventHandler } from 'react';
@@ -41,18 +41,20 @@ export const SelectedList = (props: BoxProps) => {
>
{selected.map((key) => (
-
-
- {facetId === 'simbad_object_facet_hier' && key.startsWith('1/')
- ? getObjectName(formatKeyToName(key), queryClient)
- : formatKeyToName(key)}
-
-
-
+
+
+
+ {facetId === 'simbad_object_facet_hier' && key.startsWith('1/')
+ ? getObjectName(formatKeyToName(key), queryClient)
+ : formatKeyToName(key)}
+
+
+
+
))}
- |