Skip to content

Commit 84db71c

Browse files
[ML] Adds aria labels to job wizard combo boxes (elastic#258509)
Fixes elastic#243085
1 parent 630d7dd commit 84db71c

5 files changed

Lines changed: 20 additions & 6 deletions

File tree

x-pack/platform/packages/private/ml/field_stats_flyout/options_list_with_stats/option_list_with_stats.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ export const OptionListWithFieldStats: FC<OptionListWithFieldStatsProps> = ({
117117
onChange={() => {}}
118118
value={value}
119119
aria-labelledby={titleId}
120+
aria-label={ariaLabel}
120121
onKeyDown={(e) => {
121122
if (e.key === 'Enter' || e.key === 'ArrowDown') {
122123
e.preventDefault();

x-pack/platform/plugins/shared/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/geo_field/geo_field_select.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import React, { useCallback, useMemo } from 'react';
1010
import type { EuiComboBoxOptionOption } from '@elastic/eui';
1111
import type { Field } from '@kbn/ml-anomaly-utils';
1212
import { OptionListWithFieldStats, useFieldStatsTrigger } from '@kbn/ml-field-stats-flyout';
13+
import { i18n } from '@kbn/i18n';
1314

1415
interface DropDownLabel {
1516
label: string;
@@ -66,6 +67,9 @@ export const GeoFieldSelect: FC<Props> = ({ fields, changeHandler, selectedField
6667
onChange={onChange}
6768
isClearable={true}
6869
data-test-subj="mlGeoFieldNameSelect"
70+
aria-label={i18n.translate('xpack.ml.newJob.wizard.pickFieldsStep.geoField.ariaLabel', {
71+
defaultMessage: 'Geo field select',
72+
})}
6973
/>
7074
);
7175
};

x-pack/platform/plugins/shared/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/population_field/population_field.tsx

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,9 @@
77

88
import type { FC } from 'react';
99
import React, { useContext, useEffect, useState, useMemo } from 'react';
10-
import { useGeneratedHtmlId } from '@elastic/eui';
1110

1211
import type { Field } from '@kbn/ml-anomaly-utils';
12+
import { i18n } from '@kbn/i18n';
1313
import { SplitFieldSelect } from '../split_field_select';
1414
import { JobCreatorContext } from '../../../job_creator_context';
1515
import { filterCategoryFields } from '../../../../../../../../../common/util/fields_utils';
@@ -22,9 +22,6 @@ export const PopulationFieldSelector: FC = () => {
2222
const { jobCreator: jc, jobCreatorUpdate, jobCreatorUpdated } = useContext(JobCreatorContext);
2323
const jobCreator = jc as PopulationJobCreator | RareJobCreator;
2424
const newJobCapsService = useNewJobCapsService();
25-
const titleId = useGeneratedHtmlId({
26-
prefix: 'populationFieldSelector',
27-
});
2825

2926
// eslint-disable-next-line react-hooks/exhaustive-deps
3027
const runtimeCategoryFields = useMemo(() => filterCategoryFields(jobCreator.runtimeFields), []);
@@ -70,7 +67,12 @@ export const PopulationFieldSelector: FC = () => {
7067
selectedField={populationField}
7168
isClearable={false}
7269
testSubject="mlPopulationSplitFieldSelect"
73-
titleId={titleId}
70+
aria-label={i18n.translate(
71+
'xpack.ml.newJob.wizard.pickFieldsStep.populationField.ariaLabel',
72+
{
73+
defaultMessage: 'Population field select',
74+
}
75+
)}
7476
/>
7577
</Description>
7678
);

x-pack/platform/plugins/shared/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/rare_field/rare_field_select.tsx

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,7 @@ import React from 'react';
1010
import type { EuiComboBoxOptionOption } from '@elastic/eui';
1111
import type { Field, SplitField } from '@kbn/ml-anomaly-utils';
1212
import { OptionListWithFieldStats, useFieldStatsTrigger } from '@kbn/ml-field-stats-flyout';
13+
import { i18n } from '@kbn/i18n';
1314

1415
interface DropDownLabel {
1516
label: string;
@@ -65,6 +66,9 @@ export const RareFieldSelect: FC<Props> = ({
6566
placeholder={placeholder}
6667
data-test-subj={testSubject}
6768
isClearable={false}
69+
aria-label={i18n.translate('xpack.ml.newJob.wizard.pickFieldsStep.rareField.ariaLabel', {
70+
defaultMessage: 'Rare field select',
71+
})}
6872
/>
6973
);
7074
};

x-pack/platform/plugins/shared/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/split_field_select/split_field_select.tsx

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,8 @@ interface Props {
2020
isClearable: boolean;
2121
testSubject?: string;
2222
placeholder?: string;
23-
titleId: string;
23+
titleId?: string;
24+
'aria-label'?: string;
2425
}
2526

2627
export const SplitFieldSelect: FC<Props> = ({
@@ -31,6 +32,7 @@ export const SplitFieldSelect: FC<Props> = ({
3132
testSubject,
3233
placeholder,
3334
titleId,
35+
'aria-label': ariaLabel,
3436
}) => {
3537
const { optionCss } = useFieldStatsTrigger();
3638
const options: DropDownLabel[] = fields.map(
@@ -66,6 +68,7 @@ export const SplitFieldSelect: FC<Props> = ({
6668
placeholder={placeholder}
6769
data-test-subj={testSubject}
6870
titleId={titleId}
71+
aria-label={ariaLabel}
6972
/>
7073
);
7174
};

0 commit comments

Comments
 (0)