openvibers/openvibe.events Commits

Links in event lines are underlined (#192)

OP OpenVibers committed 12 days ago · 57aab71106 · 2 files, +13 −1

Changes

ddiff --git a/server/home.js b/server/home.js
iindex 92b5616..b733a7d 100644
---- a/server/home.js
++++ b/server/home.js
@@@ -382,7 +382,8 @@ const HOME_STYLE = (rules = '') => '<style>body{margin:0}/* The hero\'s aura is
+ '.hm-cats span{color:var(--text-secondary,#96a7c2)}.hm-cats a:hover{text-decoration:underline}'
+ '.hm-events{list-style:none;margin:0;padding:0;display:grid;gap:12px 28px;grid-template-columns:repeat(auto-fill,minmax(min(100%,440px),1fr))}'
+ '.hm-event{padding:4px 0 16px;border-bottom:1px solid var(--border,rgba(255,255,255,.08))}.hm-event-cat{margin:0;font-size:12.5px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary,#96a7c2)}'
-- + '.hm-event-cat a,.hm-event-meta a{color:var(--hm-accent-text);text-decoration:none}.hm-event-cat a:hover,.hm-event-meta a:hover{text-decoration:underline}'
++ // Links in an event's lines are underlined (softly): colour alone was 1.2:1 against the line's text on Daylight.
++ + '.hm-event-cat a,.hm-event-meta a{color:var(--hm-accent-text);text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent);text-underline-offset:2px}.hm-event-cat a:hover,.hm-event-meta a:hover{text-decoration-color:currentColor}'
+ '.hm-event-title{margin:4px 0 6px;font-size:17px}.hm-event-meta{margin:0 0 6px;font-size:13.5px;line-height:1.5;color:var(--text-secondary,#96a7c2)}'
+ '.hm-event-desc{margin:0 0 6px;font-size:14.5px;line-height:1.6;color:var(--text-secondary,#96a7c2)}.hm-event-type{margin:0}.hm-event-type code{font-size:12.5px;overflow-wrap:anywhere;color:var(--text-secondary,#96a7c2)}'
+ '.hm-fold{box-sizing:border-box;max-width:1080px;margin:20px max(16px,calc((100% - 1080px) / 2)) 0;font-family:var(--ov-font,\'Inter\',-apple-system,BlinkMacSystemFont,\'Segoe UI\',Roboto,sans-serif);border:1px solid var(--border,rgba(255,255,255,.1));border-radius:14px;background:var(--bg-card,#131c2e)}.hm-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:48px;padding:0 16px;cursor:pointer;font-weight:700;list-style:none}.hm-fold>summary::-webkit-details-marker{display:none}.hm-fold>summary span{color:var(--text-muted,#7386a3);font-weight:600;font-size:.86rem}.hm-fold .sc-sec{margin:0;padding:0 16px 14px}.hm-qa>summary{list-style:none;cursor:pointer}.hm-qa>summary::-webkit-details-marker{display:none}.hm-qa>summary h3{margin:0}'
ddiff --git a/test/event-links.test.js b/test/event-links.test.js
nnew file mode 100644
iindex 0000000..689a53b
---- /dev/null
++++ b/test/event-links.test.js
@@@ -0,0 +1,11 @@
++'use strict';
++// Links inside an event's category and meta lines are underlined. Their colour alone differed from the line's text
++// by 1.2:1 on Daylight, so they could not be told apart (axe link-in-text-block, 33 links, 2026-11-01).
++const assert = require('assert');
++const fs = require('fs');
++const path = require('path');
++
++const src = fs.readFileSync(path.join(__dirname, '..', 'server', 'home.js'), 'utf8');
++assert.match(src, /\.hm-event-cat a,\.hm-event-meta a\{color:var\(--hm-accent-text\);text-decoration:underline;/);
++assert.ok(!/\.hm-event-meta a\{[^}]*text-decoration:none/.test(src), 'not hidden until hover');
++console.log('event links: all checks passed');