@vaadin/a11y-base 24.2.0-alpha8 → 24.2.0-beta1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/package.json +4 -4
  2. package/src/aria-hidden.js +16 -15
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vaadin/a11y-base",
3
- "version": "24.2.0-alpha8",
3
+ "version": "24.2.0-beta1",
4
4
  "publishConfig": {
5
5
  "access": "public"
6
6
  },
@@ -32,13 +32,13 @@
32
32
  "dependencies": {
33
33
  "@open-wc/dedupe-mixin": "^1.3.0",
34
34
  "@polymer/polymer": "^3.0.0",
35
- "@vaadin/component-base": "24.2.0-alpha8",
35
+ "@vaadin/component-base": "24.2.0-beta1",
36
36
  "lit": "^2.0.0"
37
37
  },
38
38
  "devDependencies": {
39
39
  "@esm-bundle/chai": "^4.3.4",
40
- "@vaadin/testing-helpers": "^0.4.3",
40
+ "@vaadin/testing-helpers": "^0.5.0",
41
41
  "sinon": "^13.0.2"
42
42
  },
43
- "gitHead": "2c024e8fd462d178430418f76a61f498fb549998"
43
+ "gitHead": "67c8eef57d1c59e7476e29adaf003cf4548878f2"
44
44
  }
@@ -23,12 +23,6 @@ let markerMap = {};
23
23
  /** @type {number} */
24
24
  let lockCount = 0;
25
25
 
26
- /**
27
- * @param {Element | Shadow} node
28
- * @return {Element | null}
29
- */
30
- const unwrapHost = (node) => (node ? node.host || unwrapHost(node.parentNode) : null);
31
-
32
26
  /**
33
27
  * @param {?Node} node
34
28
  * @return {boolean}
@@ -60,13 +54,12 @@ const correctTargets = (parent, targets) => {
60
54
  return null;
61
55
  }
62
56
 
63
- if (parent.contains(target)) {
64
- return target;
65
- }
66
-
67
- const correctedTarget = unwrapHost(target);
68
- if (correctedTarget && parent.contains(correctedTarget)) {
69
- return correctedTarget;
57
+ let node = target;
58
+ while (node && node !== parent) {
59
+ if (parent.contains(node)) {
60
+ return target;
61
+ }
62
+ node = node.getRootNode().host;
70
63
  }
71
64
 
72
65
  logError(target, 'is not contained inside', parent);
@@ -110,7 +103,13 @@ const applyAttributeToOthers = (originalTarget, parentNode, markerName, controlA
110
103
  }
111
104
 
112
105
  elementsToKeep.add(el);
113
- keep(el.parentNode);
106
+
107
+ const slot = el.assignedSlot;
108
+ if (slot) {
109
+ keep(slot);
110
+ }
111
+
112
+ keep(el.parentNode || el.host);
114
113
  };
115
114
 
116
115
  targets.forEach(keep);
@@ -123,7 +122,9 @@ const applyAttributeToOthers = (originalTarget, parentNode, markerName, controlA
123
122
  return;
124
123
  }
125
124
 
126
- [...parent.children].forEach((node) => {
125
+ const root = parent.shadowRoot;
126
+ const children = root ? [...parent.children, ...root.children] : [...parent.children];
127
+ children.forEach((node) => {
127
128
  // Skip elements that don't need to be hidden
128
129
  if (['template', 'script', 'style'].includes(node.localName)) {
129
130
  return;