BlueTheme Docs

Manual test plan

What to check by hand on real devices before a release. The automated checks (qa.md) run in Chromium only; this list covers the other browsers, phones, screen readers and the parts of the theme that need a person to judge them.

Run every section twice: on a Persian site (WordPress in فارسی, right to left) and on an English site (left to right). Where a step says "start" and "end", start is the right side in Persian and the left side in English.

Devices and browsers

Group Device and browser Notes
Phones iPhone (current iOS), Safari Also check with the text size raised in iOS settings.
Phones Android phone, Chrome
Phones Samsung phone, Samsung Internet Its own dark mode can recolor pages: check with it on and off.
Desktop Chrome (Windows or Mac)
Desktop Firefox (Windows or Mac)
Desktop Safari (Mac)
Desktop Edge (Windows)
Assistive tech NVDA with Firefox (Windows) Persian and English voices.
Assistive tech VoiceOver on iPhone (Safari) and on Mac (Safari)
Assistive tech TalkBack on Android (Chrome)

The phone and desktop sections below go on every phone and desktop browser. The screen reader section goes on each assistive-tech pair. A short form for a patch release: one phone (iPhone Safari), one desktop browser other than Chrome (Firefox or Safari), and NVDA.

Write down for each failure: the device and browser with versions, the language, the address, what happened and what was expected, and a screenshot or recording.

1. Install and setup

  • [ ] Upload the theme zip and the child theme zip in Appearance → Themes → Add New; activate the child theme. No errors, and the setup wizard opens (or is offered).
  • [ ] Wizard, plugins step: install and activate the suggested plugins one by one; each shows its state; a plugin that fails shows why.
  • [ ] Wizard, demo step: the gallery filters by category; each preview picture matches the demo; "Preview" opens the demo's live address.
  • [ ] Import a demo fully: the progress bar moves to the end; the front page, menus, header, footer, widgets and Theme Options look like the demo.
  • [ ] Import a demo selectively (for example only content and templates): only those parts change.
  • [ ] Remove the demo: its content goes; content made before the import stays; the previous Theme Options, widgets and front page come back.
  • [ ] Setup wizard → "Export this site as a demo": the zip downloads and imports on another site.

2. Header and menus (every phone and desktop browser)

  • [ ] The logo sits at the start, the menu and icons after it, as the header template places them; nothing overlaps at any width from 320px up (rotate phones too).
  • [ ] Desktop: hovering and clicking menu items opens submenus; submenus near the end edge open toward the start; third-level menus open to the side; nothing is cut off.
  • [ ] Mega menu: opens full width under the menu, its content readable; it closes when the pointer leaves or Escape is pressed.
  • [ ] Sticky header: appears when scrolling down, with its own colors and logo; no jump in the page content.
  • [ ] Transparent header (front page of the Agency and Corporate demos): readable over the image; becomes solid when scrolled.
  • [ ] Phone: the menu button opens the menu panel from the correct side; submenus open inside it; it closes with the close button, by tapping outside and with the back gesture where the browser supports it; the page behind does not scroll.
  • [ ] Search: the panel opens, the keyboard appears on phones with the cursor in the field, and searching shows results.
  • [ ] Cart icon: the count updates after adding a product; the side cart opens from the end side.
  • [ ] Language switcher (with Polylang or WPML, if used): every language is listed and switching opens that language's version of the page.

3. Pages and content

  • [ ] Front page of each demo: every section lines up, sliders swipe on phones and use their arrows on desktop, counters run once when shown, animations play once (and not at all with "reduce motion" on in the system settings).
  • [ ] A long blog post: headings, lists, quotes, tables, code blocks (left to right in both languages), images with captions, galleries and embeds (Aparat, YouTube) look right; nothing is wider than the screen.
  • [ ] Blog archive in each layout (grid, masonry, list, timeline, classic, photo): columns per device, pagination, "Load more" and infinite scroll.
  • [ ] Dates: Persian sites show Jalali dates with Persian digits in posts, archives, comments and widgets; English sites show Gregorian dates.
  • [ ] Comments: posting, replying (the reply form moves under the comment), and the error message for an empty comment.
  • [ ] Love button and share buttons work; share opens the right network (including Telegram, WhatsApp and Eitaa).
  • [ ] Portfolio grid: filters, hover styles, and the project page layouts.
  • [ ] Search with and without results, and the 404 page.
  • [ ] Popups: each trigger (page load, delay, scroll, exit intent on desktop, click); frequency limits (a popup set to "once" does not come back after reload); closes with its button, Escape and the overlay.
  • [ ] Cookie notice: accepting and declining; embeds held back until consent, then shown.
  • [ ] Back-to-top button, preloader (if on), Sliding Top panel (if on).
  • [ ] Dark mode: follows the system setting; the visitor's toggle works and is remembered; images and logos stay visible.
  • [ ] Fonts: Persian text in Vazirmatn (or the chosen font), English in Inter; no flash of unreadable text; Persian digits where switched on.

4. Shop (on a shop demo)

  • [ ] Shop page: product cards, sale badges, second image on hover, column count per device, sorting and filters (price, color, size), pagination.
  • [ ] Quick view: opens, shows the gallery and options, adds to the cart.
  • [ ] Variable product: color and size swatches choose the variation, the price and picture change, an out-of-stock choice cannot be added.
  • [ ] Product page: gallery zoom and full-screen view, tabs, reviews, related products; on phones, the sticky add-to-cart bar appears after scrolling past the button.
  • [ ] Wishlist: add and remove as a guest, then log in: the guest list joins the account's list.
  • [ ] Cart: change quantities, remove, coupon, totals update.
  • [ ] Checkout (classic): on a Persian site the province and city lists are Iranian and in order; required-field errors appear next to their fields; a test order goes through with a test gateway.
  • [ ] Prices in Toman or Rial with the right separators and digits.
  • [ ] My Account: orders (Jalali dates on Persian sites), addresses, account details, logout.
  • [ ] One-time-code login (in test mode): ask for a code by mobile and by email, type a wrong code, then the right one; resend waits; signing up with an unknown number.

5. BlueBuilder (desktop browsers; on an iPad or large tablet only to confirm it opens)

  • [ ] Open a page in the live builder; the sidebar sits at the start (right in Persian).
  • [ ] Add each kind of element from the Elements tab by drag and drop and by click; drop between sections, wraps and inside nested wraps.
  • [ ] Select, move, duplicate, copy and paste (also to another page), save as a template, hide on a device, delete. Undo and redo with the History tab and with keyboard shortcuts.
  • [ ] Resize a wrap with its handles; per-device sizes change only the device being edited.
  • [ ] Device switcher: the canvas changes width; a value set on Tablet does not change Desktop.
  • [ ] Inline text editing on the canvas, with typing in Persian and English.
  • [ ] Style and Advanced tabs: typography, colors, background (image, gradient, video), border, shadow, spacing, entrance animation, display conditions; each shows on the canvas and on the published page.
  • [ ] Navigator, Revisions (restore an older version), Page options, pre-built sections and templates (global sections update everywhere).
  • [ ] Update, Preview, autosave after a minute of changes, leaving with unsaved changes asks first.
  • [ ] Backend builder ("Edit with BlueBuilder" in the block editor): the same page opens and saves.
  • [ ] Header and footer templates in the builder: rows per device, sticky styles, display conditions applied on the site.

6. Theme Options and Page Options (desktop browsers)

  • [ ] Every section opens; search finds options by name in Persian and English.
  • [ ] Change a color, a font and the site width: "Save" applies them to the site; "Preview site" shows them.
  • [ ] Reset one section, reset all, export, then import the export: values come back.
  • [ ] Custom CSS and JS with the code editor; Hooks content appears at its hook.
  • [ ] Page Options on a page: layout, sidebar, header and footer override, transparent header, colors and custom CSS for that page only.

7. Screen readers (each assistive-tech pair, Persian and English)

  • [ ] The page language is read correctly: Persian text in a Persian voice, English in English (Persian sites announce mixed English words with the right voice where the screen reader supports it).
  • [ ] Skip link: the first thing announced; it moves to the main content.
  • [ ] Landmarks: header (banner), navigation, main, footer (contentinfo), search.
  • [ ] Menus: menu buttons announce expanded and collapsed; submenus and the mega menu can be reached and left.
  • [ ] Headings form an outline (one H1 per page).
  • [ ] Images: meaningful ones have descriptions; decorative ones are skipped.
  • [ ] Sliders: arrows and dots are named buttons; an autoplaying slider has a pause button that says whether it is playing.
  • [ ] Tabs, accordions and toggles announce their state; the FAQ opens.
  • [ ] Popups, the side cart and the mobile menu: announced as dialogs, focus moves in, stays in, and returns when closed.
  • [ ] Forms (login, comment, contact, checkout): every field has a label; errors are announced and linked to their fields.
  • [ ] Shop: product cards read the name, price and sale; "Add to cart" says which product; the cart count change is announced.
  • [ ] Phones (VoiceOver, TalkBack): swiping goes through the page in reading order (start to end); the menu panel can be closed with the screen reader's back or escape gesture.

8. Signs to look for everywhere

  • Sideways scrolling on a phone, or anything wider than the screen.
  • Text cut off, overlapping or running out of its box, especially in long Persian words and long English menu items.
  • Icons pointing the wrong way (arrows should point to the end side), or icons on the wrong side of their text.
  • Numbers or Latin text in the wrong order inside Persian sentences.
  • Anything on a Persian page that is aligned left (or on an English page aligned right) when the rest is not.
  • Focus outlines missing when using the keyboard.
  • Console errors (desktop browsers' developer tools).