|
@@ -688,9 +688,9 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
var ARIA_HIDDEN = ARIA_PREFIX + "hidden";
|
|
|
var ARIA_ORIENTATION = ARIA_PREFIX + "orientation";
|
|
|
var ARIA_ROLEDESCRIPTION = ARIA_PREFIX + "roledescription";
|
|
|
- var ARIA_ATOMIC = ARIA_PREFIX + "atomic";
|
|
|
var ARIA_LIVE = ARIA_PREFIX + "live";
|
|
|
- var ALL_ATTRIBUTES = [ROLE, TAB_INDEX, DISABLED, ARIA_CONTROLS, ARIA_CURRENT, ARIA_LABEL, ARIA_HIDDEN, ARIA_ORIENTATION, ARIA_ROLEDESCRIPTION, ARIA_ATOMIC, ARIA_LIVE];
|
|
|
+ var ARIA_RELEVANT = ARIA_PREFIX + "relevant";
|
|
|
+ var ALL_ATTRIBUTES = [ROLE, TAB_INDEX, DISABLED, ARIA_CONTROLS, ARIA_CURRENT, ARIA_LABEL, ARIA_HIDDEN, ARIA_ORIENTATION, ARIA_ROLEDESCRIPTION];
|
|
|
var CLASS_ROOT = PROJECT_CODE;
|
|
|
var CLASS_TRACK = PROJECT_CODE + "__track";
|
|
|
var CLASS_LIST = PROJECT_CODE + "__list";
|
|
@@ -761,9 +761,10 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
var i18n = options.i18n;
|
|
|
var elements = {};
|
|
|
var slides = [];
|
|
|
+ var rootRole = getAttribute(root, ROLE);
|
|
|
+ var rootLabel = getAttribute(root, ARIA_LABEL);
|
|
|
var rootClasses = [];
|
|
|
var trackClasses = [];
|
|
|
- var rootRole;
|
|
|
var track;
|
|
|
var list;
|
|
|
var isUsingKey;
|
|
@@ -788,12 +789,19 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
});
|
|
|
}
|
|
|
|
|
|
- function destroy() {
|
|
|
+ function destroy(completely) {
|
|
|
empty(slides);
|
|
|
removeClass(root, rootClasses);
|
|
|
removeClass(track, trackClasses);
|
|
|
- removeAttribute([root, track, list], ALL_ATTRIBUTES.concat("style"));
|
|
|
- setAttribute(root, ROLE, rootRole);
|
|
|
+ removeAttribute([track, list], ALL_ATTRIBUTES.concat("style"));
|
|
|
+ removeAttribute(root, "style");
|
|
|
+
|
|
|
+ if (completely) {
|
|
|
+ removeAttribute(root, ALL_ATTRIBUTES);
|
|
|
+ setAttribute(root, ROLE, rootRole);
|
|
|
+ }
|
|
|
+
|
|
|
+ setAttribute(root, ARIA_LABEL, rootLabel);
|
|
|
}
|
|
|
|
|
|
function update() {
|
|
@@ -830,12 +838,12 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
|
|
|
function init() {
|
|
|
var id = root.id || uniqueId(PROJECT_CODE);
|
|
|
+ var role = rootRole || root.tagName !== "SECTION" && options.role || "";
|
|
|
root.id = id;
|
|
|
track.id = track.id || id + "-track";
|
|
|
list.id = list.id || id + "-list";
|
|
|
- rootRole = getAttribute(root, ROLE);
|
|
|
setAttribute(root, ARIA_ROLEDESCRIPTION, i18n.carousel);
|
|
|
- setAttribute(root, ROLE, rootRole || root.tagName !== "SECTION" && options.role || "");
|
|
|
+ getAttribute(root, ROLE) || setAttribute(root, ROLE, role);
|
|
|
setAttribute(list, ROLE, "presentation");
|
|
|
}
|
|
|
|
|
@@ -2776,15 +2784,18 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
|
|
|
function mount() {
|
|
|
if (enabled) {
|
|
|
+ disable(!Components2.Autoplay.isPaused());
|
|
|
+ setAttribute(track, ARIA_RELEVANT, "additions");
|
|
|
+ sr.textContent = "\u2026";
|
|
|
on(EVENT_AUTOPLAY_PLAY, apply(disable, true));
|
|
|
on(EVENT_AUTOPLAY_PAUSE, apply(disable, false));
|
|
|
- on([EVENT_MOUNTED, EVENT_REFRESH], init);
|
|
|
- on([EVENT_MOVED, EVENT_SCROLLED], update);
|
|
|
+ on([EVENT_MOVED, EVENT_SCROLLED], apply(append, track, sr));
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- function init() {
|
|
|
- disable(!Components2.Autoplay.isPaused());
|
|
|
+ function destroy() {
|
|
|
+ removeAttribute(track, [ARIA_LIVE, ARIA_RELEVANT]);
|
|
|
+ remove(sr);
|
|
|
}
|
|
|
|
|
|
function disable(disabled) {
|
|
@@ -2793,15 +2804,10 @@ function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _d
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- function update() {
|
|
|
- append(track, sr);
|
|
|
- sr.textContent = "\u2026";
|
|
|
- }
|
|
|
-
|
|
|
return {
|
|
|
mount: mount,
|
|
|
disable: disable,
|
|
|
- destroy: apply(remove, sr)
|
|
|
+ destroy: destroy
|
|
|
};
|
|
|
}
|
|
|
|