diff --git a/app/assets/javascripts/diffs/components/diff_row.vue b/app/assets/javascripts/diffs/components/diff_row.vue index a1c3282cba65da65d15470cecf239e186d65d129..78cb4452ba10c4c5eac0d239d98cae3ce6216c11 100644 --- a/app/assets/javascripts/diffs/components/diff_row.vue +++ b/app/assets/javascripts/diffs/components/diff_row.vue @@ -292,6 +292,7 @@ export default { v-if="props.line.left.old_line && props.line.left.type !== $options.CONFLICT_THEIR" :data-linenumber="props.line.left.old_line" :href="props.line.lineHrefOld" + :aria-label="props.line.left.old_line" @click="listeners.setHighlightedRow({ lineCode: props.line.lineCode, event: $event })" > @@ -318,6 +319,7 @@ export default { v-if="props.line.left.new_line && props.line.left.type !== $options.CONFLICT_OUR" :data-linenumber="props.line.left.new_line" :href="props.line.lineHrefOld" + :aria-label="props.line.left.new_line" @click="listeners.setHighlightedRow({ lineCode: props.line.lineCode, event: $event })" > @@ -445,6 +447,7 @@ export default { v-if="props.line.right.new_line" :data-linenumber="props.line.right.new_line" :href="props.line.lineHrefNew" + :aria-label="props.line.right.new_line" @click="listeners.setHighlightedRow({ lineCode: props.line.lineCode, event: $event })" > diff --git a/spec/frontend/diffs/components/diff_row_spec.js b/spec/frontend/diffs/components/diff_row_spec.js index 57d39f928aef168a3c20bc6e82878c52ae79ffb0..e3804e9a6c781d9fbc70903f0f1f2c45b6e99264 100644 --- a/spec/frontend/diffs/components/diff_row_spec.js +++ b/spec/frontend/diffs/components/diff_row_spec.js @@ -194,13 +194,19 @@ describe('DiffRow', () => { it('renders left line numbers', () => { wrapper = createWrapper({ props: { line: testLines[0] } }); const lineNumber = testLines[0].left.old_line; - expect(wrapper.find(`[data-linenumber="${lineNumber}"]`).exists()).toBe(true); + const line = wrapper.find(`[data-linenumber="${lineNumber}"]`); + + expect(line.exists()).toBe(true); + expect(line.attributes('aria-label')).toBe(String(lineNumber)); }); it('renders right line numbers', () => { wrapper = createWrapper({ props: { line: testLines[0] } }); const lineNumber = testLines[0].right.new_line; - expect(wrapper.find(`[data-linenumber="${lineNumber}"]`).exists()).toBe(true); + const line = wrapper.find(`[data-linenumber="${lineNumber}"]`); + + expect(line.exists()).toBe(true); + expect(line.attributes('aria-label')).toBe(String(lineNumber)); }); describe('drag operations', () => {