Reduced the amount of code by switching which element the access
denied message is added to. Switched section to aside to better
reflect their semantics. "Access denied" is now a h2 element in order
to follow heading guidelines.
Mostly renaming of HTML tags to be more in line with the semantic
standard, but also a slight restructuring so the page gets a better
heading structure and the tabbing experience becomes more in line with
other DSV sites.
Buttons now always get focus from left to right, with the main
actionable button last in the context. they also get a slightly more
obvious outline.
Added a footer containing a very minimal accessibility statement and
contact information.
CSS has been restructured to use nested selectors as far as possible
in order to make the file more readable.
The information is sent via the cookie 'server_settings'. The value is a
base64-encoded json object containing the data necessary
for site-specific customization.
Also fixed a bug that was preventing the 'add new client' button from being
disabled when the client limit is reached.
If configured, anyone missing the required entitlement will now be denied
access to the application and its api endpoints. If unset, any authenticated
user is accepted.
The first button in the form tree is always the default button. In order for
the save button to become default, the footers were reorganized in backwards
order and then flexbox-ed to be laid out backwards.
This in order to keep the association of right -> forwards/accept
and left -> backwards/cancel.