- Home page hamburger menu now activates at 768px to match all other pages — previously required a screen narrower than 480px, leaving most phones with an overflowing desktop nav.
- Scripture Music episode titles are now always visible on mobile — they were hidden behind a
:hover-only reveal that touch screens couldn't trigger. - Fixed a CSS syntax error in the Scripture Music 768px media query that corrupted subsequent style rules.
What's New
A living record of every improvement, fix, and addition to BiblicalTools.org — built with care for accuracy, accessibility, and faithfulness to the KJ3 Literal Translation.
“See, I am doing a new thing! Now it springs up; do you not perceive it?”— Isaiah 43:19 (KJ3)
Corrected Ephesians 4:26 in the Marriage Crisis Navigator: “Be angry and do not sin” → “Be angry, but do not sin” to match KJ3 exactly.
A comprehensive verse-by-verse correction of the entire Lazarus narrative (John 11:1–46). Only 4 of the original 46 verses matched KJ3 exactly. Key corrections include:
- John 11:43 — “Come out!” → “Here! Outside!”
- John 11:39 — “already he stinks” → “he already smells”
- John 11:26 — “not die forever” → “not die to the age, not ever!”
Corrected critical differences between the original text and KJ3 across the Peter narrative:
- John 21:15–17 — “son of John” → “son of Jonah” (all three commissions)
- John 21:16 — “Tend My sheep” → “Feed My sheep!”
- John 21:17 — “You know all things” → “You perceive all things”
- John 21:9 — “fire of coals” → “coal fire lying”
- Luke 22:61–62 — Updated word order to match KJ3 participle phrasing
Teaching narrative updated to reflect KJ3's lambs-to-sheep progression: “Feed My lambs → Feed My sheep → Feed My sheep.”
Replaced 8 critical NKJV/KJV passages with exact KJ3 text and corrected 7 important minor deviations:
- Matthew 26:50 — “do what you came for” → “why are you here?”
- 2 Samuel 18:33 — “Would God I had died for you” → “Oh that I had died instead of you”
- Acts 20:24 — “none of these things move me” → “make account of nothing”
- Romans 12:18 — “be at peace” → “being in peace” (4 occurrences fixed)
Replaced ESV/NIV phrasing with verified KJ3 text across all guided steps:
- Proverbs 15:22 — “plans fail” (ESV) → “Purposes without counsel are frustrated”
- James 5:16 — “sins” (NIV) → “deviations from the Law”
- Ezekiel 36:26 — “remove the heart of stone” → “take away the stony heart”
- Romans 8:1, Ephesians 4:31–32 — Corrected to exact KJ3 word order
- KJ3 App — Matthew 10:8 corrected from KJV “Freely ye have received, freely give” to KJ3 “You freely received, freely give.”
- JP Green biography — Deuteronomy 4:2 blockquote corrected to full KJ3: “You shall not add to the Word which I command you, nor take from it, to keep the commandments of Jehovah your God which I command you.”
- Enoch glossary: KJV “and he was not” → KJ3 “Then he was not”
- Genesis 6:5: KJV “evil continually” → KJ3 “evil all the day”
- Factual fix: Rebekah entry corrected from “cousin of Jacob” to “Jacob's mother”
Major enhancements to the interactive reading comprehension tool:
- Main Idea Matcher (Game 4) — Read a KJ3 passage and identify its central message from 4 options. 8 rounds covering Genesis through Galatians.
- Vocabulary Quiz (Game 5) — Match biblical terms to definitions. Randomly selects 15 terms from the 25-term vocabulary bank with streak scoring.
- Improved answer checking — Fuzzy matching tolerates minor typos, punctuation differences, and case.
- Progress management — Full localStorage persistence with “Reset All Progress” button and toast notifications.
- Firefox compatibility — Fixed all implicit
eventglobal references.
Full interactive course page with:
- Practice tab — Spelling exercises with mastery tracking
- Root Words tab — 32 roots across Hebrew, Greek, and Latin with expand/collapse cards
- Word Meanings tab — 22 deep word studies with KJ3 scripture and quizzes
- Grammar in Scripture tab — 10 grammar lessons with exercises (tenses, moods, participles)
- Games tab — Word Forge, Scripture Speller, and Etymology Explorer
Created a unified design system to replace ~345KB of duplicated inline CSS across the site:
- base.css (28KB) — 17-section CSS framework with variables, reset, typography, layout, accessibility, and print styles. WCAG 2.1 AA verified.
- nav.html — Reference navigation component with skip-link, ARIA tabs, focus trapping, and hamburger menu.
- Migration guide — 6-step migration process with before/after examples and class mapping tables.
Extracted the 2.27MB inline Hebrew lexicon into an external JSON file loaded asynchronously. The home page HTML dropped from 2.43MB to 196KB — a 92% reduction. The lexicon data now loads in the background after the page renders, improving initial load time dramatically.
Audited all 72 HTML files for the Firefox-breaking window.event implicit global pattern. Found and fixed 9 bugs across 4 files where functions used event.target without receiving event as a parameter — causing ReferenceError crashes in Firefox.
ArkBuilder.victory() was calling ScriptureDecoder.launchConfetti() — a cross-object dependency that could silently break. Created a shared GameUtils utility so both games use the same confetti function independently.
- Broken media query — Nav font-size rules leaked to all viewports; now properly scoped.
- Duplicate contact modal — Second
#contactModal(same ID) was unreachable; removed. - Duplicate CSS blocks — Merged two identical
.logodefinitions. - CSS typo — Fixed
background:background:#000double-property in book cover styles.
The privacy policy page was cut mid-sentence (“…how we handle per”). Completed the content and added missing closing HTML tags. Also replaced Cloudflare-dependent email obfuscation with plain mailto: links that work on any host.
Every page on the site now has a consistent navigation bar with Home, Study, Read, Music, Sunday Study, and a Donate link. Includes a mobile hamburger menu with slide overlay, focus trapping, ESC-to-close, and scroll lock. Previously, most pages had no navigation or inconsistent nav structures — some had as many as 7 different link sets.
A comprehensive accessibility improvement effort touching every interactive page:
- Skip-to-content links — Added to every page for keyboard/screen-reader navigation
- ARIA landmarks —
<main>,<header>,<nav>,role="dialog"on all modals - Keyboard support — Interactive cards, tabs, collapsible sections, and game elements now work with Enter/Space/Arrow keys
- ARIA tabs pattern —
role="tablist",aria-selected,aria-controls, and arrow-key navigation on all tabbed interfaces - Focus-visible styles — Gold outline on all interactive elements for keyboard users
- Reduced motion —
prefers-reduced-motionmedia queries disable animations site-wide - Touch targets — All buttons and controls enlarged to ≥44px (WCAG 2.5.8)
- Audio labels — Every play button now has a descriptive
aria-label
- Player now identifies the translation as “KJ3 Literal Translation (Jay P. Green Sr.)”
- Book name formatting extended from 18 → 66 books — “Songofsolomon” is now “Song of Solomon”
- Progress bar is fully keyboard-navigable with Left/Right arrow seeking
- Fixed voice tab click — clicking the icon inside a tab no longer breaks voice switching
- Updated colors from blue to site-standard red accents
Dedicated mobile UX pass on the 5 highest-traffic pages (initial score: 35/100):
- Touch-friendly hover alternatives — Episode info and interactive elements no longer require hover
- Full-screen modals on mobile — Video player and content modals scale properly
- Safe area insets — Proper spacing for phones with notches
- Responsive grids — Feature and resource grids stack to single column on small screens
- Lazy loading — Episode thumbnails load on demand
- All 7 guide cards now keyboard-accessible with
aria-expandedstates - Added full site navigation, footer, skip-to-content link, and print stylesheet
- Fluid container with
clamp()sizing for all screen widths - Added 480px breakpoint for small phones
- Added
role="button",tabindex,aria-expanded, and keyboard handlers to all collapsible sections - Defined missing
handleCollapsibleKey()andhandleCardKey()functions - All 4 views now use consistent site navigation (previously only the landing view had it)
- Changed absolute URLs to relative paths matching site pattern
- Merged duplicate print stylesheets
- Scripture Music — Consolidated duplicate
artMapobjects into a shared constant. One entry point for album art instead of two that could desync. - Song of Songs — Resolved
.accent-nameCSS collision where cantillation labels were overriding accent card headings. Renamed 1,255 HTML instances. - Fixed implicit
eventglobal infilterCategory()andshowChapter()for Firefox.
- All Episodes — Mobile menu was completely broken (button existed but had no handler or menu HTML). Built full menu overlay with JS toggle and ARIA support.
- Light for Your Path — Episode info was invisible on touch devices (
:hover-only reveal). Made always visible. - Both pages: 42+ episode cards now keyboard-accessible with
tabindex,role, and Enter/Space handlers. - Video modals: Added
role="dialog", focus trapping, ESC-to-close, and focus return.
- KJ3 App — Mobile users previously had zero navigation (links were hidden at ≤768px with no hamburger). Full mobile menu added with focus trapping and ARIA.
- OpenEars — Mobile menu was a
console.log()stub with no actual menu HTML. Replaced with working overlay. Consolidated duplicate Google Analytics scripts. - Both pages: Progress bars, “coming soon” buttons, and interactive elements now fully accessible.
The filterByCategory() function used the implicit window.event global, causing category filtering to silently fail in Firefox. Fixed with explicit event parameter. Also added keyboard-accessible word cards, search labels, and modal ARIA support.
Completed a comprehensive audit of every HTML file on BiblicalTools.org across 7 batches. Findings included:
- 134+ KJ3 scripture corrections — replaced KJV/NKJV/ESV/NIV text with exact KJ3 wording
- 9 Firefox-breaking bugs identified and fixed
- 30+ pages missing site navigation — all now consistent
- 100+ accessibility improvements — keyboard support, ARIA roles, focus styles, reduced motion, skip links
- 33 fixed files validated for deployment readiness