Developer Guidelines

In accordance with the Official UA Web Policy, all web entities covered by that policy must adhere to the Developer Guidelines contained within this site. These Guidelines are a living document, and as such are subject to change.

Security

While every effort is made to ensure the Official Theme and its incarnations are secure, any code your add yourself should also follow a high standard of security.

Accessibility

As a higher educational institution Accessibility is a top priority. All interactive and web presences should adhere to the officially accepted standard of WCAG 2.0 AA. More information can be found at the official Accessibility Initiative's site.

Official CMS

The officially supported CMS is WordPress. In instances where a web presence is created that does not fall under a vendor product, static site, or an application build it should use WordPress as its CMS.

Official Framework

The currently supported Framework for the University of Alabama is entitled “Minerva”. Presently it has been utilized to create the UA WordPress Theme (v3.x), as such previous versions of the theme are only supported in specific grandfathered instances as outlined in the Web Policy.

Privacy

Data collected and processed should follow the highest standards of security, be in line with current UA policies (specifically the Privacy, GDPR, and COPPA Statements), and follow all applicable federal and state laws and regulations. These guidelines more specifically address these matters in the Privacy, Data Collection & Tracking section.

Browser support

All CSS and JS features used in production code must have at least 90% global support according to caniuse.com with specific support for Safari, Chrome, and Firefox. Additional CSS and JS features that do not meet the support requirement may be used for progressive enhancement with appropriate fallbacks.

Responsive Design

Design for a fluid viewport width, don't target specific screen sizes. The website or app should look good at any viewport width. Write breakpoints around content need, not for viewport sizes

Performance Optimization

Images and media should be compressed to a smaller file size and code assets should be minimized. Don't stop or prevent browser caching. Use file versioning techniques to make use of browser cache while making sure update files are received by the client.

Images can be compressed with Squoosh or ImageOptim

Testing and Debugging

Writing test suites for critical functionality is encouraged, and it is highly recommended to adopt a set of linting rules tailored to your project and set them up as a pre-commit or step in your CI/CD workflow.

Documentation

Use code comments to help document code that is not easily readable. Use a README file to explain project architecture and design decisions. Always keep documentation up to date.

The Web Forum

Any campus faculty or staff member that touches code or web oriented design in their job and wishes to contribute to the Official Framework, Plugins, Theme, or adjacent technological implementations or Guidelines may do so by joining the Web Forum on Microsoft Teams by emailing web@ua.edu