First-time user here, so I am not sure whether the behaviour I am seeing is even addressable via theming, so feel free to direct me into a more useful direction.
I have a nonnegotiable requirement that the site must work reasonably well if the visitor has Javascript switched off.
“Reasonably well” means: Show the same content regardless of whether JS is available or not.
E.g. I am not seeing the top bar or the sidebar if I switch off JS with the “polymer” theme.
Is there a way to select themes that “work resonably well” without JS?
Or just a single theme that somebody happens to know - I should be able to work my way from there.
That Polymer theme (built with an older version of Google Polymer) is web component-based. JS is critical for the function of web components, due to the nature of how they work. So that one is a definite no-go.
I’ve installed and experimented with probably ~80% of the themes in the list, so let me save you the pain. The majority of themes in the list are largely HTML and CSS oriented. I’ve only come across a handful that seemed significantly dependent on JS.
I consider “significant” to be when large sections of page content are entirely hidden and inaccessible, as well as broken navigation that prevents any sort of click depth within a site.
The main things that will be problematic are any dynamic features like:
Tabs, accordions (hover or click)
Dropdown navigation (hover or click)
Mobile menu nav (hamburgers/expanding navs)
Forms and input fields (except anything handled server-side)
Carousels (UX performance usually terrible on these anyways)
Modals, popovers, tooltips
Scrollspy, sticky/fixed components
For example, Bootstrap dropdown navs use jQuery by default, on hover or on click. Without JS, they just become unusable. For small sites, you don’t even need dropdowns anyways, and can probably just go with static links in the header. Main issue would be tweaking those for mobile.
@toolforger, based on your latest post, it sounds like it will be a relatively small/simple site. You probably won’t need most of the features I mentioned above.
A good starting place might be checking out the Bootstrap-based Hugo themes. At least with those, they’ll be based on a consistent framework, so you can refer to the official Bootstrap docs. That way you can pick and choose components that’ll meet the requirements.
This barebones Bootstrap theme made by @zwbetz looks pretty solid, simple, and keeping with current Hugo coding standards from what I can tell.