Skip to content

Commit abb12ba

Browse files
authored
feat: improve a11y when table header is empty and add localization support (#904)
* feat: improve a11y when table header is empty * feat: Add 'week' localization support across multiple locales * fix: Update Turkmen locale 'week' translation
1 parent 95528b8 commit abb12ba

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

79 files changed

+178
-92
lines changed

src/PickerPanel/DatePanel/index.tsx

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,13 @@ export default function DatePanel<DateType extends object = any>(props: DatePane
9898
: []);
9999

100100
if (prefixColumn) {
101-
headerCells.push(<th key="empty" aria-label="empty cell" />);
101+
headerCells.push(
102+
<th key="empty">
103+
<span style={{ width: 0, height: 0, position: 'absolute', overflow: 'hidden', opacity: 0 }}>
104+
{locale.week}
105+
</span>
106+
</th>,
107+
);
102108
}
103109
for (let i = 0; i < WEEK_DAY_COUNT; i += 1) {
104110
headerCells.push(<th key={i}>{weekDaysLocale[(i + weekFirstDay) % WEEK_DAY_COUNT]}</th>);
@@ -136,7 +142,7 @@ export default function DatePanel<DateType extends object = any>(props: DatePane
136142
const yearNode: React.ReactNode = (
137143
<button
138144
type="button"
139-
aria-label="year panel"
145+
aria-label={locale.yearSelect}
140146
key="year"
141147
onClick={() => {
142148
onModeChange('year', pickerValue);
@@ -154,7 +160,7 @@ export default function DatePanel<DateType extends object = any>(props: DatePane
154160
const monthNode: React.ReactNode = (
155161
<button
156162
type="button"
157-
aria-label="month panel"
163+
aria-label={locale.monthSelect}
158164
key="month"
159165
onClick={() => {
160166
onModeChange('month', pickerValue);

src/PickerPanel/MonthPanel/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -71,7 +71,7 @@ export default function MonthPanel<DateType extends object = any>(
7171
<button
7272
type="button"
7373
key="year"
74-
aria-label="year panel"
74+
aria-label={locale.yearSelect}
7575
onClick={() => {
7676
onModeChange('year');
7777
}}

src/PickerPanel/PanelHeader.tsx

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ function PanelHeader<DateType extends object>(props: HeaderProps<DateType>) {
122122
{superOffset && (
123123
<button
124124
type="button"
125-
aria-label="super-prev-year"
125+
aria-label={locale.previousYear}
126126
onClick={() => onSuperOffset(-1)}
127127
tabIndex={-1}
128128
className={classNames(
@@ -138,7 +138,7 @@ function PanelHeader<DateType extends object>(props: HeaderProps<DateType>) {
138138
{offset && (
139139
<button
140140
type="button"
141-
aria-label="prev-year"
141+
aria-label={locale.previousMonth}
142142
onClick={() => onOffset(-1)}
143143
tabIndex={-1}
144144
className={classNames(prevBtnCls, disabledOffsetPrev && `${prevBtnCls}-disabled`)}
@@ -152,7 +152,7 @@ function PanelHeader<DateType extends object>(props: HeaderProps<DateType>) {
152152
{offset && (
153153
<button
154154
type="button"
155-
aria-label="next-year"
155+
aria-label={locale.nextMonth}
156156
onClick={() => onOffset(1)}
157157
tabIndex={-1}
158158
className={classNames(nextBtnCls, disabledOffsetNext && `${nextBtnCls}-disabled`)}
@@ -165,7 +165,7 @@ function PanelHeader<DateType extends object>(props: HeaderProps<DateType>) {
165165
{superOffset && (
166166
<button
167167
type="button"
168-
aria-label="super-next-year"
168+
aria-label={locale.nextYear}
169169
onClick={() => onSuperOffset(1)}
170170
tabIndex={-1}
171171
className={classNames(

src/PickerPanel/QuarterPanel/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ export default function QuarterPanel<DateType extends object = any>(
3939
<button
4040
type="button"
4141
key="year"
42-
aria-label="year panel"
42+
aria-label={locale.yearSelect}
4343
onClick={() => {
4444
onModeChange('year');
4545
}}

src/PickerPanel/YearPanel/index.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,7 +77,7 @@ export default function YearPanel<DateType extends object = any>(
7777
<button
7878
type="button"
7979
key="decade"
80-
aria-label="decade panel"
80+
aria-label={locale.decadeSelect}
8181
onClick={() => {
8282
onModeChange('decade');
8383
}}

src/interface.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -63,6 +63,7 @@ export type Locale = {
6363
dateSelect: string;
6464
weekSelect?: string;
6565
clear: string;
66+
week: string;
6667
month: string;
6768
year: string;
6869
previousMonth: string;

src/locale/am_ET.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ const locale: Locale = {
77
backToToday: 'ወደ ዛሬ ተመለስ',
88
ok: 'እሺ',
99
clear: 'አንፃ',
10+
week: 'ሳምንት',
1011
month: 'ወር',
1112
year: 'ዓመት',
1213
timeSelect: 'ሰዓት ምረጥ',

src/locale/ar_EG.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const locale: Locale = {
99
backToToday: 'العودة إلى اليوم',
1010
ok: 'تأكيد',
1111
clear: 'مسح',
12+
week: 'الأسبوع',
1213
month: 'الشهر',
1314
year: 'السنة',
1415
timeSelect: 'اختيار الوقت',

src/locale/az_AZ.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const locale: Locale = {
99
backToToday: 'Bugünə qayıt',
1010
ok: 'Təsdiq',
1111
clear: 'Təmizlə',
12+
week: 'Həftə',
1213
month: 'Ay',
1314
year: 'İl',
1415
timeSelect: 'vaxtı seç',

src/locale/bg_BG.ts

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@ const locale: Locale = {
99
backToToday: 'Към днес',
1010
ok: 'Добре',
1111
clear: 'Изчистване',
12+
week: 'Седмица',
1213
month: 'Месец',
1314
year: 'Година',
1415
timeSelect: 'Избор на час',

0 commit comments

Comments
 (0)