HomePhabricator

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

Description

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

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.

Reviewers: amckinley

Reviewed By: amckinley

Maniphest Tasks: T13161, T12822

Differential Revision: https://secure.phabricator.com/D20188