docbrown/docs
Marcy Sutton f072730f0f
Header navigation dropdown accessibility (#11509)
* Improve keyboard a11y of header menu dropdown

This commit also includes some cleanup of unnecessary functions that seemed to degrade performance.

Closes https://github.com/forem/forem/issues/1154

* Add temporary focus style on navigation-button

* Put menu items in a list

* Adjust menu button based on VoiceOver testing

* Refactor menu logic to be reusable/work on touch

* Preserve admin link visibility

* Focus on first item on menu open

* Clean up some HTML and CSS

* Apply suggestions from code review

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>

* Ensure menu hides on click outside

* Rename toggle function and adjust formatting

* Update nav button focus style

* Clean up padding on header avatar focus style

* Make button show focus state for keyboard only

Using .focus-visible:focus targets keyboard focus and eliminates a flash of the blue border on click before focus is moved to the child item (which also has no focus style on mouse click)

* Update app/views/layouts/_top_bar.html.erb

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>

* Add some defensive programming

* Removed initializeTouchDevice from base.js.erb

* navigation-butt ID is now member-menu-button

* Moved all the logic from initializeTouchDevice.js into a pack file/utilities.

* committing re-ordered schema after setup

* add tests for initializeTouchDevice

* remove some unneeded html setup

* make sure menu doesn't close if user tabs back from sign out

* Revert "committing re-ordered schema after setup"

This reverts commit a41a1c861cca3b97d8a7b8a99268b8afaae9f028.

* optimized code

* small tweaks, only show outline when focused

Co-authored-by: ludwiczakpawel <ludwiczakpawel@gmail.com>
Co-authored-by: rhymes <rhymes@hey.com>
Co-authored-by: Nick Taylor <nick@dev.to>
Co-authored-by: Suzanne Aitchison <suzanne@forem.com>
2021-01-27 09:39:17 +00:00
..
.static Update more Forem to DEV language (#9337) 2020-07-15 18:01:34 -04:00
admin Renamed internal.js pack file to admin.js (#11046) 2020-10-23 17:57:39 -04:00
backend Remove CacheBuster (#12080) 2020-12-30 11:55:16 -05:00
contributing 🚀 Ability to allow tag moderators to create chat channels (#9741) 2020-12-08 13:10:36 +07:00
creators Fix a typo caused by markdown (#9995) 2020-08-25 15:41:59 -04:00
design Add initial language doc page (#9653) 2020-08-06 14:46:04 -04:00
frontend Header navigation dropdown accessibility (#11509) 2021-01-27 09:39:17 +00:00
getting-started Document the advanced startup setup (#11915) 2020-12-16 18:13:57 +01:00
installation Recommend Redis 6 for Forem self installation (#11473) 2020-11-18 17:05:00 +01:00
maintainers Feature:Deploy Forem to DEV on every merge (#11148) 2020-10-30 13:08:16 -05:00
technical-overview Report a Message in Connect (#12229) 2021-01-19 12:07:47 -05:00
tests Start a11y testing checklist in Forem docs (#11614) 2020-11-25 14:22:50 -05:00
.gitdocs.json Updated gitdocs.json links to https (#11118) 2020-10-27 12:19:03 -04:00
.nvmrc Use Node lts/erbium (v12) for Netlify builds (#5925) 2020-02-06 12:03:11 -05:00
.ruby-version Update to Ruby 2.7.2 (#10594) 2020-11-05 16:11:09 +01:00
api_template.hbs Update docs with Forem instead of dev.to (#9316) 2020-07-15 13:29:11 -04:00
api_v0.yml API: Endpoint to get an organization's articles (#12237) 2021-01-13 13:09:58 +01:00
faqs.md Add first time admin login to FAQs (#11733) 2020-12-03 11:07:07 -06:00
Gemfile Upgrade Rubocop to 0.81 (#7219) 2020-04-11 10:10:04 +02:00
licensing.md Update more Forem to DEV language (#9337) 2020-07-15 18:01:34 -04:00
Makefile API: OpenAPI 3 spec and auto generated docs (#3650) 2019-08-12 11:36:04 -04:00
netlify.toml Use yarn in scripts (#12096) 2021-01-05 09:59:17 -05:00
readme.md Remove confusing line from readme (#11712) 2020-12-03 11:30:31 -06:00
self-hosting.md Update more Forem to DEV language (#9337) 2020-07-15 18:01:34 -04:00
troubleshooting.md [deploy] Remove ENVied Gem, Use dotenv Take 2 (#9767) 2020-08-14 12:20:47 -05:00

items
technical-overview
installation
getting-started
contributing
backend
frontend
admin
design
tests
faqs.md
troubleshooting.md
licensing.md
self-hosting.md
maintainers
component
Divider
creators

Welcome to Forem's developer documentation

On this site you'll find instructions to setup a local instance of Forem, documentation on the architecture of Forem, how to contribute, and many other useful documents.

This documentation site is the product of a number of volunteer contributors working alongside the Forem Core Team, special thanks to all those who have contributed to the documentation.

Running the documentation locally

Like Forem, this site is open source and the code is hosted on GitHub. If you find any incorrect information, or a even a typo, we'd love to see a pull request.

Forem's documentation is built with GitDocs NodeJS library.

To start the gitdocs server, you should run yarn gitdocs serve from the root of the forem project or from the /docs directory.

yarn gitdocs serve

This will start a server where you can browse the documentation: http://localhost:8000/

If you add new pages or rename existing pages, you'll need to restart the server for those changes to take effect.

Contributing to the docs

If you're looking for more information on contributing, check out the Contributing guide.