Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: updates support for aria-required attribute in to-be-required #590

Merged
merged 5 commits into from
May 3, 2024

Conversation

JatinRanka
Copy link
Contributor

What:

The non-semantic HTML element fails toBeRequired method even though aria-required is set as true - #481

It does not implement this part of what's documented in MDN:

When form controls are created using non-semantic elements, such as a <div> with a role of checkbox, the aria-required attribute should be included, with a value of true, to indicate to assistive technologies that user input is required on the element for the form to be submittable. The aria-required attribute can be used with HTML form elements; it is not limited to elements that have an ARIA role assigned.

Why:

The current code only only adheres to aria-required attribute for a set of HTML elements

How:

Updated the toBeRequired method to not depend on tag type or role type for elements with aria-required attribute

Checklist:

  • Documentation
  • Tests
  • Updated Type Definitions
  • Ready to be merged

README.md Outdated Show resolved Hide resolved
@JatinRanka JatinRanka requested a review from gnapse May 1, 2024 06:59
@gnapse gnapse merged commit 20aca33 into testing-library:main May 3, 2024
5 checks passed
Copy link

github-actions bot commented May 3, 2024

🎉 This PR is included in version 6.4.3 🎉

The release is available on:

Your semantic-release bot 📦🚀

@JatinRanka JatinRanka deleted the fix/to-be-required branch May 6, 2024 15:27
zemnmez-renovate-bot added a commit to zemn-me/monorepo that referenced this pull request Oct 5, 2024
##### [`v6.5.0](https://github.com/testing-library/jest-dom/releases/tag/v6.5.0)

##### Features

-   **toHaveValue:** Asserting aria-valuenow ([#479](testing-library/jest-dom#479)) ([acbf416](testing-library/jest-dom@acbf416))
##### [`v6.4.8](https://github.com/testing-library/jest-dom/releases/tag/v6.4.8)

##### Bug Fixes

-   Drop peerDependencies from package.json ([#610](testing-library/jest-dom#610)) ([faf534b](testing-library/jest-dom@faf534b))
##### [`v6.4.7](https://github.com/testing-library/jest-dom/releases/tag/v6.4.7)

##### Bug Fixes

-   Type definition of `toHaveClass` ([#611](testing-library/jest-dom#611)) ([5cc6298](testing-library/jest-dom@5cc6298))
##### [`v6.4.6](https://github.com/testing-library/jest-dom/releases/tag/v6.4.6)

##### Bug Fixes

-   Support [@starting-style](https://github.com/starting-style) ([#602](testing-library/jest-dom#602)) ([fd9ee68](testing-library/jest-dom@fd9ee68))
##### [`v6.4.5](https://github.com/testing-library/jest-dom/releases/tag/v6.4.5)

##### Bug Fixes

-   add js suffix to isEqualWith import ([#599](testing-library/jest-dom#599)) ([e8c8b13](testing-library/jest-dom@e8c8b13))
##### [`v6.4.4](https://github.com/testing-library/jest-dom/releases/tag/v6.4.4)

##### Bug Fixes

-   **infra:** codecoverage token addition ([#600](testing-library/jest-dom#600)) ([f03a582](testing-library/jest-dom@f03a582))
##### [`v6.4.3](https://github.com/testing-library/jest-dom/releases/tag/v6.4.3)

##### Bug Fixes

-   Updates role support for aria-required attribute in `toBeRequired` ([#590](testing-library/jest-dom#590)) ([20aca33](testing-library/jest-dom@20aca33))
##### [`v6.4.2](https://github.com/testing-library/jest-dom/releases/tag/v6.4.2)

##### Bug Fixes

-   Remove errant export of GetByRoleMatcher, fixing type checking in some TS configurations ([#575](testing-library/jest-dom#575)) ([a93c0c4](testing-library/jest-dom@a93c0c4))
##### [`v6.4.1](https://github.com/testing-library/jest-dom/releases/tag/v6.4.1)

##### Bug Fixes

-   Export type `TestingLibraryMatchers` from "./matchers" ([#576](testing-library/jest-dom#576)) ([dd1c4dd](testing-library/jest-dom@dd1c4dd))
##### [`v6.4.0](https://github.com/testing-library/jest-dom/releases/tag/v6.4.0)

##### Features

-   Add toHaveRole matcher ([#572](testing-library/jest-dom#572)) ([f7dc673](testing-library/jest-dom@f7dc673))
##### [`v6.3.0](https://github.com/testing-library/jest-dom/releases/tag/v6.3.0)

##### Features

-   Support for regular expressions in toHaveClass ([#563](testing-library/jest-dom#563)) ([9787ed5](testing-library/jest-dom@9787ed5))
##### [`v6.2.1](https://github.com/testing-library/jest-dom/releases/tag/v6.2.1)

##### Bug Fixes

-   Standalone types for "./matchers" export and add Bun support ([#566](testing-library/jest-dom#566)) ([5675b86](testing-library/jest-dom@5675b86))
##### [`v6.2.0](https://github.com/testing-library/jest-dom/releases/tag/v6.2.0)

##### Features

-   toHaveAccessibleDescription supports aria-description ([#565](testing-library/jest-dom#565)) ([1fb156c](testing-library/jest-dom@1fb156c))
##### [`v6.1.6](https://github.com/testing-library/jest-dom/releases/tag/v6.1.6)

##### Bug Fixes

-   Upgrade [@adobe/css-tools](https://github.com/adobe/css-tools) to v4.3.2 ([#553](testing-library/jest-dom#553)) ([b64b953](testing-library/jest-dom@b64b953))
##### [`v6.1.5](https://github.com/testing-library/jest-dom/releases/tag/v6.1.5)

##### Bug Fixes

-   support uppercase custom props in toHaveStyle ([#552](testing-library/jest-dom#552)) ([b7b7c6a](testing-library/jest-dom@b7b7c6a))
##### [`v6.1.4](https://github.com/testing-library/jest-dom/releases/tag/v6.1.4)

##### Bug Fixes

-   upgrade `@adobe/css-tools` to `4.3.1` to address vulnerability ([#532](testing-library/jest-dom#532)) ([44f1eab](testing-library/jest-dom@44f1eab))
##### [`v6.1.3](https://github.com/testing-library/jest-dom/releases/tag/v6.1.3)

##### Bug Fixes

-   proper [@jest/globals](https://github.com/jest/globals) import ([#530](testing-library/jest-dom#530)) ([5b492ac](testing-library/jest-dom@5b492ac))
##### [`v6.1.2](https://github.com/testing-library/jest-dom/releases/tag/v6.1.2)

##### Bug Fixes

-   bump [@adobe/css-tools](https://github.com/adobe/css-tools) for ESM support ([#525](testing-library/jest-dom#525)) ([b959a68](testing-library/jest-dom@b959a68))
##### [`v6.1.1](https://github.com/testing-library/jest-dom/releases/tag/v6.1.1)

##### Bug Fixes

-   **package.json:** update main and module file paths ([#523](testing-library/jest-dom#523)) ([853a3e5](testing-library/jest-dom@853a3e5))
##### [`v6.1.0](https://github.com/testing-library/jest-dom/releases/tag/v6.1.0)

##### Features

-   Publish ESM and CJS (testing-library/jest-dom#519)
##### [`v6.0.1](https://github.com/testing-library/jest-dom/releases/tag/v6.0.1)

##### Bug Fixes

-   matchers type is making the global expect unsafe ([#513](testing-library/jest-dom#513)) ([bdb34f1](testing-library/jest-dom@bdb34f1))
##### [`v6.0.0](https://github.com/testing-library/jest-dom/releases/tag/v6.0.0)

##### Features

-   local types, supporting jest, [@jest/globals](https://github.com/jest/globals), vitest ([#511](testing-library/jest-dom#511)) ([4b764b9](testing-library/jest-dom@4b764b9))

##### BREAKING CHANGES

-   Removes the extend-expect script. Users should use
    the default import path or one of the new test platform-specific
    paths to automatically extend the appropriate "expect" instance.

extend-expect was not documented in the Readme, so this change should
have minimal impact.

Users can now use the following import paths to automatically extend
"expect" for their chosen test platform:

-   [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) - jest ([@types/jest](https://github.com/types/jest))
-   @testing-library/jest-dom/jest-globals - [@jest/globals](https://github.com/jest/globals)
-   @testing-library/jest-dom/vitest - vitest

For example:

import '@testing-library/jest-dom/jest-globals'

Importing from one of the above paths will augment the appropriate
matcher interface for the given test platform, assuming the import
is done in a .ts file that is included in the user's tsconfig.json.

It's also (still) possible to import the matchers directly without
side effects:

import \* as matchers from '@testing-library/jest-dom/matchers'

-   Update kcd-scripts
-   Drop node < 14
github-merge-queue bot pushed a commit to zemn-me/monorepo that referenced this pull request Oct 5, 2024
##### [`v6.5.0](https://github.com/testing-library/jest-dom/releases/tag/v6.5.0)

##### Features

-   **toHaveValue:** Asserting aria-valuenow ([#479](testing-library/jest-dom#479)) ([acbf416](testing-library/jest-dom@acbf416))
##### [`v6.4.8](https://github.com/testing-library/jest-dom/releases/tag/v6.4.8)

##### Bug Fixes

-   Drop peerDependencies from package.json ([#610](testing-library/jest-dom#610)) ([faf534b](testing-library/jest-dom@faf534b))
##### [`v6.4.7](https://github.com/testing-library/jest-dom/releases/tag/v6.4.7)

##### Bug Fixes

-   Type definition of `toHaveClass` ([#611](testing-library/jest-dom#611)) ([5cc6298](testing-library/jest-dom@5cc6298))
##### [`v6.4.6](https://github.com/testing-library/jest-dom/releases/tag/v6.4.6)

##### Bug Fixes

-   Support [@starting-style](https://github.com/starting-style) ([#602](testing-library/jest-dom#602)) ([fd9ee68](testing-library/jest-dom@fd9ee68))
##### [`v6.4.5](https://github.com/testing-library/jest-dom/releases/tag/v6.4.5)

##### Bug Fixes

-   add js suffix to isEqualWith import ([#599](testing-library/jest-dom#599)) ([e8c8b13](testing-library/jest-dom@e8c8b13))
##### [`v6.4.4](https://github.com/testing-library/jest-dom/releases/tag/v6.4.4)

##### Bug Fixes

-   **infra:** codecoverage token addition ([#600](testing-library/jest-dom#600)) ([f03a582](testing-library/jest-dom@f03a582))
##### [`v6.4.3](https://github.com/testing-library/jest-dom/releases/tag/v6.4.3)

##### Bug Fixes

-   Updates role support for aria-required attribute in `toBeRequired` ([#590](testing-library/jest-dom#590)) ([20aca33](testing-library/jest-dom@20aca33))
##### [`v6.4.2](https://github.com/testing-library/jest-dom/releases/tag/v6.4.2)

##### Bug Fixes

-   Remove errant export of GetByRoleMatcher, fixing type checking in some TS configurations ([#575](testing-library/jest-dom#575)) ([a93c0c4](testing-library/jest-dom@a93c0c4))
##### [`v6.4.1](https://github.com/testing-library/jest-dom/releases/tag/v6.4.1)

##### Bug Fixes

-   Export type `TestingLibraryMatchers` from "./matchers" ([#576](testing-library/jest-dom#576)) ([dd1c4dd](testing-library/jest-dom@dd1c4dd))
##### [`v6.4.0](https://github.com/testing-library/jest-dom/releases/tag/v6.4.0)

##### Features

-   Add toHaveRole matcher ([#572](testing-library/jest-dom#572)) ([f7dc673](testing-library/jest-dom@f7dc673))
##### [`v6.3.0](https://github.com/testing-library/jest-dom/releases/tag/v6.3.0)

##### Features

-   Support for regular expressions in toHaveClass ([#563](testing-library/jest-dom#563)) ([9787ed5](testing-library/jest-dom@9787ed5))
##### [`v6.2.1](https://github.com/testing-library/jest-dom/releases/tag/v6.2.1)

##### Bug Fixes

-   Standalone types for "./matchers" export and add Bun support ([#566](testing-library/jest-dom#566)) ([5675b86](testing-library/jest-dom@5675b86))
##### [`v6.2.0](https://github.com/testing-library/jest-dom/releases/tag/v6.2.0)

##### Features

-   toHaveAccessibleDescription supports aria-description ([#565](testing-library/jest-dom#565)) ([1fb156c](testing-library/jest-dom@1fb156c))
##### [`v6.1.6](https://github.com/testing-library/jest-dom/releases/tag/v6.1.6)

##### Bug Fixes

-   Upgrade [@adobe/css-tools](https://github.com/adobe/css-tools) to v4.3.2 ([#553](testing-library/jest-dom#553)) ([b64b953](testing-library/jest-dom@b64b953))
##### [`v6.1.5](https://github.com/testing-library/jest-dom/releases/tag/v6.1.5)

##### Bug Fixes

-   support uppercase custom props in toHaveStyle ([#552](testing-library/jest-dom#552)) ([b7b7c6a](testing-library/jest-dom@b7b7c6a))
##### [`v6.1.4](https://github.com/testing-library/jest-dom/releases/tag/v6.1.4)

##### Bug Fixes

-   upgrade `@adobe/css-tools` to `4.3.1` to address vulnerability ([#532](testing-library/jest-dom#532)) ([44f1eab](testing-library/jest-dom@44f1eab))
##### [`v6.1.3](https://github.com/testing-library/jest-dom/releases/tag/v6.1.3)

##### Bug Fixes

-   proper [@jest/globals](https://github.com/jest/globals) import ([#530](testing-library/jest-dom#530)) ([5b492ac](testing-library/jest-dom@5b492ac))
##### [`v6.1.2](https://github.com/testing-library/jest-dom/releases/tag/v6.1.2)

##### Bug Fixes

-   bump [@adobe/css-tools](https://github.com/adobe/css-tools) for ESM support ([#525](testing-library/jest-dom#525)) ([b959a68](testing-library/jest-dom@b959a68))
##### [`v6.1.1](https://github.com/testing-library/jest-dom/releases/tag/v6.1.1)

##### Bug Fixes

-   **package.json:** update main and module file paths ([#523](testing-library/jest-dom#523)) ([853a3e5](testing-library/jest-dom@853a3e5))
##### [`v6.1.0](https://github.com/testing-library/jest-dom/releases/tag/v6.1.0)

##### Features

-   Publish ESM and CJS (testing-library/jest-dom#519)
##### [`v6.0.1](https://github.com/testing-library/jest-dom/releases/tag/v6.0.1)

##### Bug Fixes

-   matchers type is making the global expect unsafe ([#513](testing-library/jest-dom#513)) ([bdb34f1](testing-library/jest-dom@bdb34f1))
##### [`v6.0.0](https://github.com/testing-library/jest-dom/releases/tag/v6.0.0)

##### Features

-   local types, supporting jest, [@jest/globals](https://github.com/jest/globals), vitest ([#511](testing-library/jest-dom#511)) ([4b764b9](testing-library/jest-dom@4b764b9))

##### BREAKING CHANGES

-   Removes the extend-expect script. Users should use
    the default import path or one of the new test platform-specific
    paths to automatically extend the appropriate "expect" instance.

extend-expect was not documented in the Readme, so this change should
have minimal impact.

Users can now use the following import paths to automatically extend
"expect" for their chosen test platform:

-   [@testing-library/jest-dom](https://github.com/testing-library/jest-dom) - jest ([@types/jest](https://github.com/types/jest))
-   @testing-library/jest-dom/jest-globals - [@jest/globals](https://github.com/jest/globals)
-   @testing-library/jest-dom/vitest - vitest

For example:

import '@testing-library/jest-dom/jest-globals'

Importing from one of the above paths will augment the appropriate
matcher interface for the given test platform, assuming the import
is done in a .ts file that is included in the user's tsconfig.json.

It's also (still) possible to import the matchers directly without
side effects:

import \* as matchers from '@testing-library/jest-dom/matchers'

-   Update kcd-scripts
-   Drop node < 14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants