aboutsummaryrefslogtreecommitdiffstats
path: root/apps/files
diff options
context:
space:
mode:
authorJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2019-03-21 08:42:27 +0100
committerJohn Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>2019-03-21 08:45:01 +0100
commitec09f121af31764455c74277fd049c326ca082fc (patch)
treef3635789097a59c998f181fca364bac7bd5a39c1 /apps/files
parent6ea5beccd7f74bb13fdec02b5720e1ef2a5652f2 (diff)
downloadnextcloud-server-ec09f121af31764455c74277fd049c326ca082fc.tar.gz
nextcloud-server-ec09f121af31764455c74277fd049c326ca082fc.zip
Use max contrast variable to cap the generated colours
Signed-off-by: John Molakvoæ (skjnldsv) <skjnldsv@protonmail.com>
Diffstat (limited to 'apps/files')
-rw-r--r--apps/files/js/filelist.js37
1 files changed, 30 insertions, 7 deletions
diff --git a/apps/files/js/filelist.js b/apps/files/js/filelist.js
index 868623d9a8a..44c4c5abec9 100644
--- a/apps/files/js/filelist.js
+++ b/apps/files/js/filelist.js
@@ -1532,15 +1532,37 @@
td.append(linkElem);
tr.append(td);
+ try {
+ var maxContrastHex = window.getComputedStyle(document.documentElement)
+ .getPropertyValue('--color-text-maxcontrast')
+ var maxContrast = parseInt(maxContrastHex.substring(1, 3), 16)
+ } catch(error) {
+ var maxContrast = OCA.Accessibility
+ && OCA.Accessibility.theme === 'themedark'
+ ? '130'
+ : '118'
+ }
+
// size column
if (typeof(fileData.size) !== 'undefined' && fileData.size >= 0) {
simpleSize = humanFileSize(parseInt(fileData.size, 10), true);
// rgb(118, 118, 118) / #767676
// min. color contrast for normal text on white background according to WCAG AA
- sizeColor = Math.round(118-Math.pow((fileData.size/(1024*1024)),2));
+ sizeColor = Math.round(118-Math.pow((fileData.size/(1024*1024)), 2));
+
+ // ensure that the brightest color is still readable
+ // min. color contrast for normal text on white background according to WCAG AA
+ if (sizeColor >= maxContrast) {
+ sizeColor = maxContrast;
+ }
if (OCA.Accessibility && OCA.Accessibility.theme === 'themedark') {
sizeColor = Math.abs(sizeColor);
+ // ensure that the dimmest color is still readable
+ // min. color contrast for normal text on black background according to WCAG AA
+ if (sizeColor < maxContrast) {
+ sizeColor = maxContrast;
+ }
}
} else {
simpleSize = t('files', 'Pending');
@@ -1555,22 +1577,23 @@
// date column (1000 milliseconds to seconds, 60 seconds, 60 minutes, 24 hours)
// difference in days multiplied by 5 - brightest shade for files older than 32 days (160/5)
var modifiedColor = Math.round(((new Date()).getTime() - mtime )/1000/60/60/24*5 );
+
// ensure that the brightest color is still readable
- // rgb(118, 118, 118) / #767676
// min. color contrast for normal text on white background according to WCAG AA
- if (modifiedColor >= '118') {
- modifiedColor = 118;
+ if (modifiedColor >= maxContrast) {
+ modifiedColor = maxContrast;
}
+
if (OCA.Accessibility && OCA.Accessibility.theme === 'themedark') {
modifiedColor = Math.abs(modifiedColor);
// ensure that the dimmest color is still readable
- // rgb(130, 130, 130) / #828282
// min. color contrast for normal text on black background according to WCAG AA
- if (modifiedColor < 130) {
- modifiedColor = 130;
+ if (modifiedColor < maxContrast) {
+ modifiedColor = maxContrast;
}
}
+
var formatted;
var text;
if (mtime > 0) {