Merge branch '2.0' of github.com:s9y/Serendipity into 2.0

This commit is contained in:
Garvin Hicking 2014-06-25 13:23:15 +02:00
commit 12e9171e7d

View File

@ -754,202 +754,7 @@
$(target).toggleClass(stateClass);
}
}( window.serendipity = window.serendipity || {}, jQuery ));
// Source: https://github.com/yatil/accessifyhtml5.js
var AccessifyHTML5 = function (defaults, more_fixes) {
"use strict";
var fixes = {
'article' : { 'role': 'article' },
'aside' : { 'role': 'complementary' },
'nav' : { 'role': 'navigation' },
'main' : { 'role': 'main' },
'output' : { 'aria-live': 'polite' },
'section' : { 'role': 'region' },
'[required]': { 'aria-required': 'true' }
},
fix, elems, attr, value, key, obj, i, mo, by_match, el_label,
ATTR_SECURE = /aria-[a-z]+|role|tabindex|title|alt|data-[\w\-]+|lang|style|maxlength|placeholder|pattern|type/,
ID_PREFIX = "acfy-id-",
n_label = 0,
Doc = document;
if (Doc.querySelectorAll) {
if (defaults) {
if (defaults.header) {
fixes[defaults.header] = {
'role': 'banner'
};
}
if (defaults.footer) {
fixes[defaults.footer] = {
'role': 'contentinfo'
};
}
if (defaults.main) {
fixes[defaults.main] = {
'role': 'main'
};
fixes.main = {
'role': ''
};
}
}
for (mo in more_fixes) {
fixes[mo] = more_fixes[mo];
}
for (fix in fixes) {
if (fixes.hasOwnProperty(fix)) {
elems = Doc.querySelectorAll(fix);
obj = fixes[fix];
for (i = 0; i < elems.length; i++) {
for (key in obj) {
if (obj.hasOwnProperty(key)) {
attr = key;
value = obj[key];
if (!attr.match(ATTR_SECURE)) {
continue;
}
if (!(typeof value).match(/string|number/)) {
continue;
}
by_match = attr.match(/(describ|label)l?edby/);
if (by_match) {
el_label = Doc.querySelector(value);
if (! el_label) { continue; }
if (! el_label.id) {
el_label.id = ID_PREFIX + n_label;
}
value = el_label.id;
attr = "aria-" + ("label" === by_match[1] ? "labelledby" : "describedby");
n_label++;
}
if (!elems[i].hasAttribute(attr)) {
elems[i].setAttribute(attr, value);
}
}
}
}
}
}
}
};
// mths.be/details
;
(function(a, f) {
var e = f.fn,
d, c = Object.prototype.toString.call(window.opera) == '[object Opera]',
g = (function(l) {
var j = l.createElement('details'),
i, h, k;
if (!('open' in j)) {
return false
}
h = l.body || (function() {
var m = l.documentElement;
i = true;
return m.insertBefore(l.createElement('body'), m.firstElementChild || m.firstChild)
}());
j.innerHTML = '<summary>a</summary>b';
j.style.display = 'block';
h.appendChild(j);
k = j.offsetHeight;
j.open = true;
k = k != j.offsetHeight;
h.removeChild(j);
if (i) {
h.parentNode.removeChild(h)
}
return k
}(a)),
b = function(i, l, k, h) {
var j = i.prop('open'),
m = j && h || !j && !h;
if (m) {
i.removeClass('open').prop('open', false).triggerHandler('close.details');
l.attr('aria-expanded', false);
k.hide()
} else {
i.addClass('open').prop('open', true).triggerHandler('open.details');
l.attr('aria-expanded', true);
k.show()
}
};
e.noSelect = function() {
var h = 'none';
return this.bind('selectstart dragstart mousedown', function() {
return false
}).css({
MozUserSelect: h,
msUserSelect: h,
webkitUserSelect: h,
userSelect: h
})
};
if (g) {
d = e.details = function() {
return this.each(function() {
var i = f(this),
h = f('summary', i).first();
h.attr({
role: 'button',
'aria-expanded': i.prop('open')
}).on('click', function() {
var j = i.prop('open');
h.attr('aria-expanded', !j);
i.triggerHandler((j ? 'close' : 'open') + '.details')
})
})
};
d.support = g
} else {
d = e.details = function() {
return this.each(function() {
var h = f(this),
j = f('summary', h).first(),
i = h.children(':not(summary)'),
k = h.contents(':not(summary)');
if (!j.length) {
j = f('<summary>').text('Details').prependTo(h)
}
if (i.length != k.length) {
k.filter(function() {
return this.nodeType == 3 && /[^ \t\n\f\r]/.test(this.data)
}).wrap('<span>');
i = h.children(':not(summary)')
}
h.prop('open', typeof h.attr('open') == 'string');
b(h, j, i);
j.attr('role', 'button').noSelect().prop('tabIndex', 0).on('click', function() {
j.focus();
b(h, j, i, true)
}).keyup(function(l) {
if (32 == l.keyCode || (13 == l.keyCode && !c)) {
l.preventDefault();
j.click()
}
})
})
};
d.support = g
}
}(document, jQuery));
}( window.serendipity = window.serendipity || {}, jQuery ))
{literal}
/*! IndexedDBShim - v0.1.2 - 2014-06-14 */