Page MenuHomePhabricator

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

Authored by epriestley on Feb 16 2019, 7:37 PM.
Tags
None
Referenced Files
Unknown Object (File)
Sun, Nov 17, 12:50 AM
Unknown Object (File)
Mon, Nov 11, 5:09 AM
Unknown Object (File)
Sat, Nov 9, 12:29 AM
Unknown Object (File)
Fri, Nov 8, 8:41 PM
Unknown Object (File)
Fri, Nov 8, 8:23 PM
Unknown Object (File)
Fri, Nov 8, 5:54 PM
Unknown Object (File)
Fri, Nov 8, 4:36 PM
Unknown Object (File)
Wed, Oct 30, 6:39 AM
Subscribers
None

Details

Summary

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

Repository
rP Phabricator
Lint
Lint Not Applicable
Unit
Tests Not Applicable