This started as thinking about changing the dropdowns. But if we're redoing the dropdowns, we may as well change the dropdown icons. And if we're making some nontrivial PHP changes to change those, we may as well think about refactoring the PHP so it's easier to change in the future, etc.
So here are some ideas on where can can take Refreshed in the future... potentially for a Refreshed 4 release down the road?
- Redo the dropdowns so they don't rely on JS (T134851) and are more consistent visually (T142537). Based on previous discussions, perhaps a white opaque background by default with shadow underneath? If I'm not mistaken we could ditch JS in favor of a dropdown that uses CSS :hover and :active rules. I suspect this might also resolve T145314.
- Switch from WikiFont, which is no longer maintained, to OOUI icons (T155083). We could use inline SVG for this instead of pseudoelements. This would start chipping away at T151429 since we could use OOUI to fill in some of the icons we haven't picked yet.
- Use the OOUI icons in more places, like a magnifying glass in the search bar (T136527) and a tag icon by page categories. Maybe the TOC too
- Rearrange the page actions and tools. We could pull a few pages from Timeless on this. Specifically, we could have talk and discussion links could be on the top left of the article, then the actions be separate on the top right. Also, instead of grouping a bunch of unrelated tools together into one dropdown like we have currently, we could separate them, again a la Timeless. (Notice "Print/export," "Wiki tools," "Userpage tools," and "More" are all separate sections of the sidebar.) We could have dropdowns like "Page actions" (move, delete, etc.), "User tools" (contributions, block, etc.), and "Advanced tools" (what links here, printable version, etc.). on the top right hand side of the article. Then we could put "Wiki tools" (special pages) and "Languages" in the sidebar.
- Refactor the PHP files so functions do more of the work like generating dropdowns. Hopefully this would make the skin easier to maintain in the future.
- Potentially switch from CSS to LESS to make things easier to maintain. (Monobook and Vector have done this already.) In the process we could remove Lato, resolving T142157. (Note: use mixins for things like flexbox and box-shadow.)
- Refactor JS
- Adjust the breakpoints between different skin sizes (see T162653)
- Hide the sidebar behind the hamburger menu on medium
Thoughts? More ideas?