# Docs HTML render redesign

**URL:** <https://discuss.python.org/t/docs-html-render-redesign/48566>\
**Category:** Documentation\
**Tags:** documentation\
**Created:** [March 15, 2024, 12:42am UTC](https://discuss.python.org/t/docs-html-render-redesign/48566 "2024-03-15T00:42:26Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![Privat33r](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/privat33r/32/18548_2.png) [@Privat33r](https://discuss.python.org/u/Privat33r)\
**Post date:** [March 15, 2024, 12:42am UTC](https://discuss.python.org/t/docs-html-render-redesign/48566/1 "2024-03-15T00:42:26Z")

</div>

The HTML design feels outdated as it uses older HTML styling. I suggest to refresh the design at least by means of partial modernization. It’s especially visible when you visit `devguide` subdomain and compare it to `docs`. Some of these things can be considered taste preference, while others are representing legitimate concern. A few suggestions provided below:

1. Make design more responsive

> **With wider screens, \`devguide\` definitely renders much nicer**
>
> ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/e/1/e1f2dc139184cb9510436bd1de880a6b92945c1f.png)

1. Add more spacing to top bar: it is too dense

2. Remove list style type (or at least add option to make lists without type/use that option in many places)

3. Add tooltips at least for the glossary and basic terms

4. Add more themes, make font customizable, improve accessibility

5. Add labels for the `select` input elements in the top bar to improve [accessibility](https://dequeuniversity.com/rules/axe/4.8/select-name)

6. Redesign side bar

7. Remove vertical bars from the tables

8. Remove excessive `important!` properties from the css.

P.S. I was unable to provide images for illustration because of the forum’s limitation on embedded media posting for new users…

> **Full unformatted version with illustrations**
>
> ```md
> 1. Make design more responsive
> [details=With wider screens, `devguide` definitely renders much nicer]
> ![image|690x174](upload://nesD7CZfOWalH826uOvpnnghVQ8.png)
> 
> ![image|690x173](upload://wePKPnC2Si63cMQVEklZMFdR3v9.png)
> [/details]
> 
> 2. Add more spacing to top bar: it is too dense
> [details]
> ![image|690x17](upload://nZPex9XBp1B7lY15HkIlE1jn6ns.png)
> I will compare it to Github's one since `devguide` doesn't have a topbar
> ![image|690x18](upload://9XE4B21kpwIRV2w3ntc95z6wxII.png)
> [/details]
> 
> 3. Remove list style type (or at least add option to make lists without type/use that option in many places)
> [details]
> Before:
> ![image|347x500](upload://k0ch9orbqVvpdTof2gv8YP4qLp3.png)
> 
> After:
> ![image|353x500](upload://kuEEuSVC2xp0e3yLRulus68cfOI.png)
> [/details]
> 
> 4. Add tooltips at least for the glossary and basic terms
> 5. Add more themes, make font customizable, improve accessibility
> 6. Add labels for the `select` input elements in the top bar to improve [accessibility](https://dequeuniversity.com/rules/axe/4.8/select-name)
> 7. Redesign side bar
> 8. Remove vertical bars from the tables
> [details]
> Example-1:
> ![image|617x390](upload://210rzHDJImRQGGSae3NvZZoRo9y.png)
> to
> ![image|567x385](upload://zFYoJ15xCECpnYEQlPqaYVIRuoF.png)
> 
> Example-2:
> ![image|642x500](upload://jrhSviWZnISs7u8lh3ARwb0HNK.png)
> to
> ![image|640x500](upload://yJrW1b3pSPmEnO2KBuRnw7CzmW2.png)
> [/details]
> 9. Remove excessive `important!` properties from the css.
> 
> ```

---

<div class="post-metadata">

**Author:** ![Privat33r](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/privat33r/32/18548_2.png) [@Privat33r](https://discuss.python.org/u/Privat33r)\
**Post date:** [March 15, 2024, 12:45am UTC](https://discuss.python.org/t/docs-html-render-redesign/48566/2 "2024-03-15T00:45:09Z")

</div>

> **devguide render**
>
> ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/a/2/a2d4803296c8e0a51f487888d28626d10e3ffd5c.png)

(message for test, I am not sure if I even should make 10 messages just to post illustrations)

---

<div class="post-metadata">

**Author:** ![CAM-Gerlach](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/cam-gerlach/32/3688_2.png) [@CAM-Gerlach](https://discuss.python.org/u/CAM-Gerlach)\
**Post date:** [March 15, 2024, 3:20am UTC](https://discuss.python.org/t/docs-html-render-redesign/48566/3 "2024-03-15T03:20:33Z")

</div>

Hi Kerim, I bumped your account up a trust level so you should be able to post your images and links, or edit your posts above to contain them.

As to your points, the docs theme is certainly quite old and creaky as far as it comes to HTML styling. The docs team has been notionally strongly considering a migration to highly modern theme like @pradyunsg 's [Lutra](https://pradyunsg.me/lutra/), under development with large documentation sets like CPython’s specifically in mind, as well as work by @hugovk and others to modernize low-hanging fruit in the current theme (dark mode, a11y, etc) where feasible.

I’m sure we’d welcome your contributions along these lines to both of those efforts, after due consideration and discussion of any major changes that might warrant broader feedback.

---

<div class="post-metadata">

**Author:** ![hugovk](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/hugovk/32/14505_2.png) [@hugovk](https://discuss.python.org/u/hugovk)\
**Post date:** [March 15, 2024, 6:33am UTC](https://discuss.python.org/t/docs-html-render-redesign/48566/4 "2024-03-15T06:33:01Z")

</div>

Here’s the full list with images:

* * *

1. Make design more responsive

> **With wider screens, \`devguide\` definitely renders much nicer**
>
> ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/a/2/a2d4803296c8e0a51f487888d28626d10e3ffd5c.png)
> 
> ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/e/1/e1f2dc139184cb9510436bd1de880a6b92945c1f.png)

1. Add more spacing to top bar: it is too dense

> ****
>
> ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/a/8/a82f2684a31c11b1353fccbf48dab94aa465889e.png)  
> I will compare it to Github’s one since `devguide` doesn’t have a topbar  
> ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/4/5/45d1a119598d746da0d0da74b722f4292b77b418.png)

1. Remove list style type (or at least add option to make lists without type/use that option in many places)

> ****
>
> Before:
> 
> ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/8/c/8c31359ef2b1cea2a45791793fe4812543b264dd.png)
> 
> After:
> 
> ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/8/f/8fa29a5201af1548e5b535e8059d48c9f13495e4.png)

1. Add tooltips at least for the glossary and basic terms
2. Add more themes, make font customizable, improve accessibility
3. Add labels for the `select` input elements in the top bar to improve [accessibility](https://dequeuniversity.com/rules/axe/4.8/select-name)
4. Redesign side bar
5. Remove vertical bars from the tables

> ****
>
> Example-1:  
> ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/0/e/0e217e6b36c14d78c6877ff8598f85734badb8a8.png)  
> to  
> ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/f/a/fa0abfee77e65b8fef7c0f7abcc799661db82769.png)
> 
> Example-2:
> 
> ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/0/2/023290737ac0f67a2fa4f4aad6a2c1f48f2b36a8.png)  
> to  
> ![image](https://us1.discourse-cdn.com/flex002/uploads/python1/original/3X/f/3/f36d2d4a98f62971addbeefe7f696145cc06474e.png)

1. Remove excessive `important!` properties from the css.

---

<div class="post-metadata">

**Author:** ![hugovk](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/hugovk/32/14505_2.png) [@hugovk](https://discuss.python.org/u/hugovk)\
**Post date:** [March 15, 2024, 6:40am UTC](https://discuss.python.org/t/docs-html-render-redesign/48566/5 "2024-03-15T06:40:23Z")

</div>

These generally sound like good ideas.

The main docs uses a Sphinx theme that lives at [GitHub - python/python-docs-theme: Sphinx theme for Python documentation](https://github.com/python/python-docs-theme). Would you like to open separate issues or PRs over there, and we can go through them one-by-one? Some of these things might be in Sphinx itself.

> [@Privat33r](#):
>
> 1. Add tooltips at least for the glossary and basic terms

Do you mean using `<abbr>`? It has limited and inconsistent support for keyboard users, touch users (e.g. mobile) and for screenreader and Braille users:

[https://adrianroselli.com/2024/01/using-abbr-element-with-title-attribute.html#Verdict](https://adrianroselli.com/2024/01/using-abbr-element-with-title-attribute.html#Verdict)

> [@Privat33r](#):
>
> 1. Add more themes, make font customizable, improve accessibility

I’m not sure if we should have multiple themes, or if Sphinx even supports it. It would mean we need to maintain integration of 2x or 3x or more themes (plus light+dark).

If we can let people customise the font via browser settings, that would probably be best.

I think we should use the [system font stack](https://systemfontstack.com/) for wider support, improved readability and consistency, and quicker loads, which both the [devguide](https://devguide.python.org/) (via the [Furo theme](https://github.com/pradyunsg/furo)) and [PEPs site](https://peps.python.org/) use. Here’s a demo: [3.13.0a4 Documentation](https://hugovk-python-docs-theme.readthedocs.io/en/sfs/)

---

<div class="post-metadata">

**Author:** ![Privat33r](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/privat33r/32/18548_2.png) [@Privat33r](https://discuss.python.org/u/Privat33r)\
**Post date:** [March 15, 2024, 9:48am UTC](https://discuss.python.org/t/docs-html-render-redesign/48566/6 "2024-03-15T09:48:39Z")

</div>

> Do you mean using ? It has limited and inconsistent support for keyboard users, touch users (e.g. mobile) and for screenreader and Braille users:

I meant more like wikipedia-style tooltips so users recap information quickly, it might help in studying. We can add “title” attritbute to `<a>` tags and display it with JS from cached json with dictionary.

> I’m not sure if we should have multiple themes, or if Sphinx even supports it. It would mean we need to maintain integration of 2x or 3x or more themes (plus light+dark).

I was thinking more of “light” themes which would rather mostly be a color schemes, like obsidian, monokai etc.

> I think we should use the [system font stack](https://systemfontstack.com/) for wider support

Sure, sounds good

---

<div class="post-metadata">

**Author:** ![Privat33r](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/privat33r/32/18548_2.png) [@Privat33r](https://discuss.python.org/u/Privat33r)\
**Post date:** [March 15, 2024, 9:54am UTC](https://discuss.python.org/t/docs-html-render-redesign/48566/7 "2024-03-15T09:54:09Z")

</div>

> I bumped your account up a trust level so you should be able to post your images and links

Thanks 🙂

Also thank you for providing an accurate depiction of the current situation along with links, hopefully I can make meaningful contribution for both of these efforts. It would make sense to start with minor improvements and move to another theme for bigger things (e.g. top/side-bar redesign).

---

<div class="post-metadata">

**Author:** ![hugovk](https://sea2.discourse-cdn.com/flex002/user_avatar/discuss.python.org/hugovk/32/14505_2.png) [@hugovk](https://discuss.python.org/u/hugovk)\
**Post date:** [March 16, 2024, 9:52am UTC](https://discuss.python.org/t/docs-html-render-redesign/48566/8 "2024-03-16T09:52:33Z")

</div>

> [@Privat33r](#):
>
> > I think we should use the [system font stack](https://systemfontstack.com/) for wider support
> 
> Sure, sounds good

Please see PR [python/python-docs-theme#176](https://github.com/python/python-docs-theme/pull/176).
