Opened 5 months ago

Last modified 2 months 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 docsRemove non-code custom link text when cross-referencing Python objects in docs

comment:3 by Natalia Bidart, 5 months ago

Triage Stage: UnreviewedAccepted

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: AcceptedReady 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 checkinAccepted

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, 2 months ago

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