Changeset 847775c in Klonkt for src/views


Ignore:
Timestamp:
08/18/2026 06:47:58 PM (3 weeks ago)
Author:
Bart <bart@…>
Branches:
main
Children:
03ff677
Parents:
87696ce
git-author:
Bart <bart@…> (08/18/2026 04:42:55 AM)
git-committer:
Bart <bart@…> (08/18/2026 06:47:58 PM)
Message:

Leesweergave: tikken op een bericht opent het bericht

De stroom toont de tekst, maar het gesprek staat op de berichtpagina: ⭐,
🔁, reacties, en het antwoordveld voor bezoekers van elders. Een leesweergave
waar je niet uit kunt naar dat gesprek is een doodlopende weg.

Drie ingangen, met opzet:

  • de titel is een echte <a>, dus toetsenbord, schermlezer en cmd-klik werken;
  • een voetlink zegt waar je heen gaat ("Reacties en waarderingen"), want een tik die je niet ziet, bestaat niet;
  • en een tik ergens op het bericht, voor een duim.

Die tik kent vier uitzonderingen, want een tik die je niet bedoelde is erger dan
geen tik: links, knoppen en velden houden hun eigen werking, een geselecteerde
tekst is geen tik, een verschoven vinger is scrollen, en cmd/ctrl-klik laat je
aan de browser. Alle vier nagemeten in de browser, plus dat een link ín een
bericht wint van de tik.

MOD_V naar 2: mod/read.js is gewijzigd.

Co-Authored-By: Claude Opus 5 <claude@…>

Location:
src/views
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • src/views/pages/read.ejs

    r87696ce r847775c  
    8080.on-read .read-post + .read-post { border-top: 1px solid color-mix(in srgb, currentColor 12%, transparent); }
    8181
     82/* De titel is een link, maar mag er niet als een link uitzien: dit is een
     83   leesscherm, geen index. Onderstrepen pas als je hem aanwijst. */
     84.on-read .read-title a { color: inherit; text-decoration: none; }
     85.on-read .read-title a:hover,
     86.on-read .read-title a:focus-visible { text-decoration: underline; }
     87
     88/* De aankondiging onderaan: waar de tik je heen brengt. */
     89.on-read .read-foot { margin-top: 2rem; }
     90.on-read .read-open {
     91  display: inline-block; font-size: .9rem; opacity: .75;
     92  text-decoration: none; border-bottom: 1px solid currentColor; padding-bottom: 1px;
     93}
     94.on-read .read-open:hover, .on-read .read-open:focus-visible { opacity: 1; }
     95
    8296.on-read .read-head { padding-bottom: .5rem; }
    8397.on-read .read-title { font-size: clamp(1.6rem, 4vw, 2.4rem); line-height: 1.15; margin: 0 0 .3rem; }
  • src/views/partials/read-article.ejs

    r87696ce r847775c  
    2020         data-title="<%= post.title || '' %>"
    2121         aria-label="<%= post.title || '' %>">
     22  <%# De titel is een echte link naar het bericht zelf. De leesstroom toont de
     23      TEKST, maar reacties, waarderingen en boosts staan op de berichtpagina --
     24      en een stroom waar je niet uit kunt naar het gesprek is een doodlopende weg.
     25      Een <a> en niet alleen een tik-afhandelaar: dat werkt ook met een
     26      toetsenbord, met een schermlezer, en met cmd-klik. %>
    2227  <header class="read-head">
    23     <h1 class="read-title"><%= post.title || '' %></h1>
     28    <h1 class="read-title"><a href="<%= _b %>/<%= post.slug %>"><%= post.title || '' %></a></h1>
    2429    <% if (post.published_at) { %><p class="read-when"><%= formatDateTime(post.published_at) %></p><% } %>
    2530  </header>
     
    2934        content_html: entry.content_html, _base: _b,
    3035      }) %>
     36
     37  <%# Zegt waar je heen gaat, in plaats van te vertrouwen op een tik die niemand
     38      ziet. De tik-afhandelaar in mod/read.js is het gemak; dit is de aankondiging. %>
     39  <footer class="read-foot">
     40    <a class="read-open" href="<%= _b %>/<%= post.slug %>"><%= t('read.open') %> &rarr;</a>
     41  </footer>
    3142</article>
  • src/views/shell.ejs

    r87696ce r847775c  
    503503  // Eén nummer voor de hele map. Te vaak bumpen kost één download; te weinig
    504504  // bumpen kost een bugfix die nooit aankomt.
    505   var MOD_V = 1;
     505  var MOD_V = 2;
    506506
    507507  // name -> 1 (aan het laden) of de module-namespace (geladen). Een module
Note: See TracChangeset for help on using the changeset viewer.