Skip to content

States & Feedback

Loading

Operations expected to take under 300 ms don't need loading animations; longer operations should show a skeleton screen close to the final layout or clear progress indication. Buttons entering a loading state keep their width, and are temporarily disabled to prevent duplicate submissions.

Empty States

Empty-state designs must distinguish "no content yet on first load", "no results after filtering", and "insufficient access permissions". Pages should provide a concrete reason, clear next steps, and helpful documentation links, rather than large decorative illustrations hiding key information.

Errors

Error feedback should include: a concise heading, the specific cause, a clear suggested next step, and an error code when helpful. Never expose code stacks, database fields, or sensitive security responses directly to end users.

Recommended:

The timetable can't sync right now. The Zhixing Ligong service isn't responding. You can retry later; your saved local timetable won't be lost.

Avoid: "Unknown error", "Request failed", "Error 500".

Project Status

Organization repositories and software About pages use the following status words:

StatusMeaning
ExperimentalFor validating ideas; APIs and data may change
MaintainedAccepting issue reports with planned fixes
Low activityOnly critical issues and necessary compatibility updates
ArchivedNo longer maintained; historical content kept

Project status labels must carry the date of the last confirmation. Never mark a project without maintainers as "Maintained" or another green-healthy state.

Notifications

Success notices are only for confirming a result and may auto-dismiss after a few seconds; notifications about errors or user decisions stay persistent. Configure aria-live appropriately for notification regions, but avoid blasting frequently changing progress updates unfiltered to assistive technology.

Content shared under the CC BY 4.0 license