diff --git a/.changeset/slow-ties-carry.md b/.changeset/slow-ties-carry.md
new file mode 100644
index 000000000..95330d0bf
--- /dev/null
+++ b/.changeset/slow-ties-carry.md
@@ -0,0 +1,6 @@
+---
+'@lion/ui': patch
+---
+
+[form-core] remove fieldset label from input-field aria-labelledby
+[form-core] remove fieldset help-text from input-field aria-describedby
diff --git a/packages/ui/components/form-core/src/form-group/FormGroupMixin.js b/packages/ui/components/form-core/src/form-group/FormGroupMixin.js
index e9dcc0015..334c222a2 100644
--- a/packages/ui/components/form-core/src/form-group/FormGroupMixin.js
+++ b/packages/ui/components/form-core/src/form-group/FormGroupMixin.js
@@ -46,7 +46,7 @@ const FormGroupMixinImplementation = superclass =>
}
/**
- * The host element with role group (or radigroup or form) containing neccessary aria attributes
+ * The host element with role group (or radio-group or form) containing necessary aria attributes
* @protected
*/
get _inputNode() {
@@ -478,7 +478,7 @@ const FormGroupMixinImplementation = superclass =>
/**
* Traverses the _parentFormGroup tree, and gathers all aria description elements
- * (feedback and helptext) that should be provided to children.
+ * (feedback) that should be provided to children.
*
* In the example below, when the input for 'street' has focus, a screenreader user
* would hear the #group-error.
@@ -503,7 +503,9 @@ const FormGroupMixinImplementation = superclass =>
const descriptionElements = parent._getAriaDescriptionElements();
const orderedEls = getAriaElementsInRightDomOrder(descriptionElements, { reverse: true });
orderedEls.forEach(el => {
- this.__descriptionElementsInParentChain.add(el);
+ if (el.getAttribute('slot') === 'feedback') {
+ this.__descriptionElementsInParentChain.add(el);
+ }
});
// Also check if the newly added child needs to refer grandparents
parent = parent._parentFormGroup;
@@ -549,9 +551,6 @@ const FormGroupMixinImplementation = superclass =>
this.__linkParentMessages(child);
this.validate({ clearCurrentResult: true });
- if (typeof child.addToAriaLabelledBy === 'function' && this._labelNode) {
- child.addToAriaLabelledBy(this._labelNode, { reorder: false });
- }
if (!child.modelValue) {
const pVals = this.__pendingValues;
if (pVals.modelValue && pVals.modelValue[child.name]) {
diff --git a/packages/ui/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.js b/packages/ui/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.js
index c96a72593..6e8fa40b2 100644
--- a/packages/ui/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.js
+++ b/packages/ui/components/form-core/test-suites/form-group/FormGroupMixin-input.suite.js
@@ -1,7 +1,6 @@
import { LitElement } from 'lit';
import '@lion/ui/define/lion-field.js';
import '@lion/ui/define/lion-validation-feedback.js';
-import { getFormControlMembers } from '@lion/ui/form-core-test-helpers.js';
import { LionInput } from '@lion/ui/input.js';
import { localizeTearDown } from '@lion/ui/localize-test-helpers.js';
import { defineCE, expect, fixture, html, unsafeStatic } from '@open-wc/testing';
@@ -63,41 +62,6 @@ export function runFormGroupMixinInputSuite(cfg = {}) {
'custom[]': ['custom 1', ''],
});
});
-
- it('suffixes child labels with group label, just like in