A note on iframes
The last entry in the SCORM for Developers series discussed iframes versus AJAX and reactive frameworks. I'd like to provide some historical context for iframes in SCORM courses.
The SCORM documentation and early SCORM examples have a heavy emphasis on framesets because SCORM 1.0 was released in 2000, only three years after HTML 4 (1997).
The authors and early adopters of SCORM used traditional framesets in their SCORM courses, because that’s simply how things were done at the time.
I started building websites in 1994/95. Back then, if you wanted a sidebar containing site navigation on every page of your site, but didn’t want to copy and paste your markup into all of your site files, the easiest solution was to use a frameset.
Wordpress and content management systems didn’t exist yet, and most people were writing their markup by hand. Inline frames, commonly referred to as iframes, had been supported by Internet Explorer for a while, but had only been committed as a cross-browser standard via the HTML 4.01 spec in 1999. The original <frameset> was still very common.
Learning management systems used traditional framesets to display SCORM packages, typically with the table of contents in a sidebar frame on the left, and the main content in a larger frame on the right. A header or footer might be included via a third frame.
Traditional framesets were clunky, suffered from accessibility issues, and gradually grew out of favor. As CSS and JavaScript support improved within browsers, web developers started to rely on dynamically loaded content (AJAX) and the occasional iframe. Eventually, traditional framesets developed a bad reputation and “frame” became a dirty word.
By 2014, the HTML5 spec made it official — the <frameset> element was deprecated. But the <iframe> lives on as part of the HTML5 spec, and is ubiquitous. Iframes power much of the dynamic web, including millions of widgets, including Twitter tweets, Instagram posts, YouTube embeds, and sign-up forms. The <iframe> is widely accepted part of the modern web, and is still a great option. 30 years after the invention of the iframe, every LMS still uses frames (most commonly an iframe) to display SCORM courses.
In e-learning, the iframe is typically configured to expand vertically and horizontally to fill the parent HTML document, obscuring the parent HTML from view, and giving the appearance of a single HTML file.
With this in mind, please don’t feel guilty for using an <iframe> in your SCORM courseware. Iframes are perfectly legit, support modern responsive design techniques, and are accessible (if built correctly). I can guarantee you that your LMS is loading your course into an <iframe>, anyway.