Frames are a legacy component of HTML 4 and should no longer be used.
Jakob Nielsen, the author of several usability books, wrote an article in 1996 that criticized frames. Some key points mentioned in the article are:
- Frames prevent users from properly bookmarking pages. When a bookmarked frameset page is loaded, the previous mouse clicks of the user inside the frames do not matter. Only the outer URL is saved and users have to navigate to where they were manually.
- Frames present challenges for printing web pages. Printing all the frames at once is not suited to the different dimensions of paper (and users can get only the first pageful that way). Users generally have to right-click the frame they want and choose the appropriate context menu option.
- Users coming from search engines may not have access to navigational elements if they are located in another frame and they are directed to only that frame the search engine found the text in.
Chances are good that if you see a column of text, graphics, or links that do not scroll when other portions of a page do, that site is using frames.
The home page for the popular Yahoo
Yahoo Web site does not use frames. Frames are no longer used because of challenges that they create with useability.
The most common markup language used for mobile web sites is HTML5 as of April 2019.
There are 2 basic platforms used for mobile devices. They are
- iOS for Apple
- Android platform
HTML5 is currently being implemented for the mobile web as well HTML5 applications. This standard ensures specific markup for your web site that works best on mobile devices.
For instance, it does not allow HTML frames or nested tables, which perform poorly on mobile devices. Along with the DOCTYPE, be sure to declare the appropriate character encoding for the document (such as UTF-8).