Page MenuHomePhabricator

Use `<td class="n" data-n="3">` instead of `<th>3</th>` for line numbers

Authored by epriestley on Feb 16 2019, 7:37 PM.



Ref T13161. Ref T12822. See PHI870. Long ago, the web was simple. You could leave your doors unlocked, you knew all your neighbors, crime hadn't been invented yet, and <th>3</th> was a perfectly fine way to render a line number cell containing the number "3".

But times have changed!

  • In PHI870, this isn't good for screenreaders. We can't do much about this, so switch to <td>.
  • In D19349 / T13105 and elsewhere, this ::after { content: attr(data-n); } approach seems like the least bad general-purpose approach for preventing line numbers from being copied. Although Differential needs even more magic beyond this in the two-up view, this is likely good enough for the one-up view, and is consistent with other views (paste, harbormaster logs, general source display) where this technique is sufficient on its own.

The chance this breaks something is pretty much 100%, but we've got a week to figure out what it breaks. I couldn't find any issues immediately.

Test Plan
  • Created, edited, deleted inlines in 1-up and 2-up views.
  • Replied, keyboard-navigated, keyboard-replied, drag-selected, poked and prodded everything.

Diff Detail

rP Phabricator
Lint Not Applicable
Tests Not Applicable