Opened 5 months ago

Last modified 7 weeks ago

#36329 assigned Cleanup/optimization

Remove non-code custom link text when cross-referencing Python objects in docs

Reported by: Clifford Gama Owned by: Clifford Gama
Component: Documentation Version: dev
Severity: Normal Keywords:
Cc: Triage Stage: Accepted
Has patch: yes Needs documentation: no
Needs tests: no Patch needs improvement: yes
Easy pickings: no UI/UX: no

Description

Some cross-references to Python objects in the docs use custom link text that isn't actual code, eg :meth:a get lookup <django.models.QuerySet.get> ​here. This is undesirable because it causes natural language phrases like "a get lookup", in this example, to render as inline code.

Attachments (2)

screen01.jpg​ (110.8 KB ) - added by Clifford Gama 5 months ago.
screen02.jpg​ (82.8 KB ) - added by Clifford Gama 5 months ago.

Download all attachments as: .zip

Change History (12)

comment:1 by Clifford Gama, 5 months ago

Has patch: set

comment:2 by Clifford Gama, 5 months ago

Summary: Remove/replace non-code custom link text when cross-referencing Python objects in docs β†’ Remove non-code custom link text when cross-referencing Python objects in docs

comment:3 by Natalia Bidart, 5 months ago

Triage Stage: Unreviewed β†’ Accepted

Thank you Clifford for this work. I have reviewed some of the examples, particularly those changed in the PR, and I have mixed feelings about the need to do any change. I do understand that the method/classes "links" are formatted as monospaced code-like text, but OTOH the resulting "links" read/flow nicely in the paragraphs.

Concretely, I am happy to accept the ticket and review the PR in detail. However, I would appreciate it if you could expand a bit on the motivation for this change, particularly the broader reasoning or philosophy behind it.

by Clifford Gama, 5 months ago

Attachment: screen01.jpg​ added

by Clifford Gama, 5 months ago

Attachment: screen02.jpg​ added

in reply to:  3 comment:4 by Clifford Gama, 5 months ago

Replying to Natalia Bidart:

Thank you Natalia for the triage!

I do understand that the method/classes "links" are formatted as monospaced code-like text

Yes, and they are wrapped in HTML <code></code> tags, with class="notranslate" which means that these links which read nicely in English will not be translated to other Languages using third-party and browser translators. (Here is an example using the dev version of the docs and translating the page with Google Translate to Japanese https://code.djangoproject.com/attachment/ticket/36329/screen01.jpg. And here is how it looks in my PR docs build: https://code.djangoproject.com/attachment/ticket/36329/screen02.jpg)

I would appreciate it if you could expand a bit on the motivation for this change, particularly the broader reasoning or philosophy behind it.

Using custom link text like β€œa get lookup” styled as code gives the impression that β€œa get lookup” is a literal symbol, which it isn’t. I find this misleading, especially in longer pages where a reader might skim the code-formatted terms for quick context. In short, I believe that what looks like code should be code.

Sphinx documentation does not say anything about what should be used as custom text in a cross-reference to code. However, I have found that some projects like matplotlib actively avoid using non-code custom-links to cross-ref target code. (I have included a regex in the PR description which you can use to search.)

comment:5 by David Bogar, 5 months ago

Triage Stage: Accepted β†’ Ready for checkin

I agree with Clifford.

This may only be a subjective cosmetic change for people looking at the page in English, but if it improves accessibility for people who are having the page translated, then I'm all for it.

comment:6 by Bruno Alla, 5 months ago

Patch needs improvement: set
Triage Stage: Ready for checkin β†’ Accepted

Spotted a few small issues with the formatting while reviewing.

comment:7 by Clifford Gama, 5 months ago

Patch needs improvement: unset

comment:8 by Sarah Boyce, 4 months ago

Patch needs improvement: set

comment:9 by Clifford Gama, 4 months ago

Patch needs improvement: unset

comment:10 by Sarah Boyce, 7 weeks ago

Patch needs improvement: set
Note: See TracTickets for help on using tickets.
Back to Top