From a127b431401d70f980df96efd6fcdd0fb07b64b9 Mon Sep 17 00:00:00 2001 From: drita Date: Fri, 9 Feb 2024 22:28:32 +0300 Subject: [PATCH 1/2] feat: add aria attributes to loaders - Add aria-valuenow attribute to linear loader - Add aria-label attribute to both linear and circular loaders - Add unit tests for loaders --- .../__tests__/circular-loader.test.js | 26 +++++++++++++++++ .../src/circular-loader/circular-loader.js | 3 ++ .../circular-loader.stories.js | 7 +++-- .../__tests__/linear-loader.test.js | 29 +++++++++++++++++++ .../loader/src/linear-loader/linear-loader.js | 4 +++ .../linear-loader/linear-loader.stories.js | 13 ++++++--- components/loader/types/index.d.ts | 2 ++ 7 files changed, 77 insertions(+), 7 deletions(-) create mode 100644 components/loader/src/circular-loader/__tests__/circular-loader.test.js create mode 100644 components/loader/src/linear-loader/__tests__/linear-loader.test.js diff --git a/components/loader/src/circular-loader/__tests__/circular-loader.test.js b/components/loader/src/circular-loader/__tests__/circular-loader.test.js new file mode 100644 index 0000000000..505809f283 --- /dev/null +++ b/components/loader/src/circular-loader/__tests__/circular-loader.test.js @@ -0,0 +1,26 @@ +import { mount } from 'enzyme' +import React from 'react' +import { CircularLoader } from '../circular-loader.js' + +describe('Circular Loader', () => { + it('renders the circular loader with aria label', () => { + const wrapper = mount( + + ) + const actual = wrapper.find({ 'data-test': 'circular-loader-test' }) + expect(actual.prop('role')).toBe('progressbar') + expect(actual.prop('aria-label')).toBe('Circular Loader') + }) + + it('renders the circular loader without aria label', () => { + const wrapper = mount( + + ) + const actual = wrapper.find({ 'data-test': 'circular-loader-test' }) + expect(actual.prop('aria-label')).toBe(undefined) + expect(actual.prop('role')).toBe('progressbar') + }) +}) diff --git a/components/loader/src/circular-loader/circular-loader.js b/components/loader/src/circular-loader/circular-loader.js index 2ede281513..aa96366ac5 100644 --- a/components/loader/src/circular-loader/circular-loader.js +++ b/components/loader/src/circular-loader/circular-loader.js @@ -10,6 +10,7 @@ const CircularLoader = ({ invert, className, dataTest, + ariaLabel, }) => (