mui-x icon indicating copy to clipboard operation
mui-x copied to clipboard

[fields] Enable the new field DOM structure by default

Open flaviendelangle opened this issue 1 year ago • 4 comments

Closes #14477

If possible, this PR should be merged as soon as the next branch is prepared so that I can open the PR to #14796 which also impacts most of the interfaces in the package.

Work

  • [x] Enable enableAccessibleFieldDOMStructure when the prop is not provided and render the right text field
  • [x] Change the default value of the TEnableAccessibleFieldDOMStructure generic in every component and interface using it
  • [x] Stop usign enableAccessibleFieldDOMStructure={true} in doc and tests
  • [x] Create the migration guide for v8 and move the guide to migrate to the new DOM structure there
  • [x] Update the "Custom field" page to use the new DOM structure by default an only advertise the legacy one for Joy UI
  • [x] Use the terminology "Accessible DOM structure" / "Non-accessible DOM structure" everywhere instead of "v6" / "v7" or "legacy"

flaviendelangle avatar Sep 17 '24 11:09 flaviendelangle

Maybe we already want to remove the "v6" x "v7" terminology for good ?

Although I think it can make sense, I also see it as questionable since adding new suffixes could make it more verbose and hardly to read, plus we are already used to the v6 x v7 nomenclature. I wouldn't mind leaving the renaming for v9 once we remove the non-accessible-v6 input

arthurbalduini avatar Oct 16 '24 10:10 arthurbalduini

Thanks for the deep dive on the v6/v7 nomenclature.

Although I think it can make sense, I also see it as questionable since adding new suffixes could make it more verbose and hardly to read, plus we are already used to the v6 x v7 nomenclature. I wouldn't mind leaving the renaming for v9 once we remove the non-accessible-v6 input

I would differenciate public usage of the nomenclature and internal one. The public usage is "accessible DOM structure", not "v7 DOM structure", so I think any public usage should still follow this nomenclature as muche as possible. From what I can see, the only public interfaces remaining with v6/v7 is BaseForwardedV6SingleInputFieldProps/BaseForwardedV7SingleInputFieldProps which I can rename but is very rarely used (and is even less useful with the multi input field going away).

All the rest is purely internal, I can rename it for consistency, but as you said everything will go away in v9 so it may not be worth the effort.

flaviendelangle avatar Oct 16 '24 11:10 flaviendelangle

This pull request has conflicts, please resolve those before we can evaluate the pull request.

github-actions[bot] avatar Oct 17 '24 17:10 github-actions[bot]