Unchecked Runtime.lasterror Download Must Be In Progress

1 view
Skip to first unread message

Dionna Niebergall

unread,
Jan 18, 2024, 12:19:29 AM1/18/24
to rolatobti

This document was produced by a group operating under the 5 February 2004 W3C Patent Policy. W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy. Stability Different parts of this specification are at different levels of maturity. Some of the more major known issues are marked like this. There are many other issues that have been raised as well; the issues given in this document are not the only known issues! There are also some spec-wide issues that have not yet been addressed: case-sensitivity is a very poorly handled topic right now, and the firing of events needs to be unified (right now some bubble, some don't, they all use different text to fire events, etc). It would also be nice to unify the rules on downloading content when attributes change (e.g. src attributes) - should they initiate downloads when the element immediately, is inserted in the document, when active scripts end, etc. This matters e.g. if an attribute is set twice in a row (does it hit the network twice). Table of contents

  • 1. Introduction
  • 1.1. Scope
  • 1.1.1. Relationship to HTML 4.01, XHTML 1.1, DOM2 HTML
  • 1.1.2. Relationship to XHTML2
  • 1.1.3. Relationship to XUL, Flash, Silverlight, and other proprietary UI languages
  • 1.2. Structure of this specification
  • 1.2.1. How to read this specification
  • 1.3. Conformance requirements
  • 1.3.1. Common conformance requirements for APIs exposed to JavaScript
  • 1.3.2. Dependencies
  • 1.3.3. Features defined in other specifications
  • 1.4. Terminology
  • 1.4.1. HTML vs XHTML
  • 2. The Document Object Model
  • 2.1. Documents
  • 2.1.1. Security
  • 2.1.2. Resource metadata management
  • 2.2. Elements
  • 2.2.1. Reflecting content attributes in DOM attributes
  • 2.3. Common DOM interfaces
  • 2.3.1. Collections
  • 2.3.1.1. HTMLCollection
  • 2.3.1.2. HTMLFormControlsCollection
  • 2.3.1.3. HTMLOptionsCollection
  • 2.3.2. DOMTokenList
  • 2.3.3. DOM feature strings
  • 2.4. DOM tree accessors
  • 2.5. Dynamic markup insertion
  • 2.5.1. Controlling the input stream
  • 2.5.2. Dynamic markup insertion in HTML
  • 2.5.3. Dynamic markup insertion in XML
  • 2.6. APIs in HTML documents
  • 3. Semantics and structure of HTML elements
  • 3.1. Introduction
  • 3.2. Common microsyntaxes
  • 3.2.1. Common parser idioms
  • 3.2.2. Boolean attributes
  • 3.2.3. Numbers
  • 3.2.3.1. Unsigned integers
  • 3.2.3.2. Signed integers
  • 3.2.3.3. Real numbers
  • 3.2.3.4. Ratios
  • 3.2.3.5. Percentages and dimensions
  • 3.2.3.6. Lists of integers
  • 3.2.4. Dates and times
  • 3.2.4.1. Specific moments in time
  • 3.2.4.2. Vaguer moments in time
  • 3.2.5. Time offsets
  • 3.2.6. Tokens
  • 3.2.7. Keywords and enumerated attributes
  • 3.2.8. References
  • 3.3. Documents and document fragments
  • 3.3.1. Semantics
  • 3.3.2. Structure
  • 3.3.3. Kinds of content
  • 3.3.3.1. Metadata content
  • 3.3.3.2. Prose content
  • 3.3.3.3. Sectioning content
  • 3.3.3.4. Heading content
  • 3.3.3.5. Phrasing content
  • 3.3.3.6. Embedded content
  • 3.3.3.7. Interactive content
  • 3.3.4. Transparent content models
  • 3.3.5. Paragraphs
  • 3.4. Global attributes
  • 3.4.1. The id attribute
  • 3.4.2. The title attribute
  • 3.4.3. The lang (HTML only) and xml:lang (XML only) attributes
  • 3.4.4. The dir attribute
  • 3.4.5. The class attribute
  • 3.4.6. The irrelevant attribute
  • 3.5. Interaction
  • 3.5.1. Activation
  • 3.5.2. Focus
  • 3.5.2.1. Focus management
  • 3.5.2.2. Sequential focus navigation
  • 3.5.3. Scrolling elements into view
  • 3.6. The root element
  • 3.6.1. The html element
  • 3.7. Document metadata
  • 3.7.1. The head element
  • 3.7.2. The title element
  • 3.7.3. The base element
  • 3.7.4. The link element
  • 3.7.5. The meta element
  • 3.7.5.1. Standard metadata names
  • 3.7.5.2. Other metadata names
  • 3.7.5.3. Pragma directives
  • 3.7.5.4. Specifying the document's character encoding
  • 3.7.6. The style element
  • 3.7.7. Styling
  • 3.8. Sections
  • 3.8.1. The body element
  • 3.8.2. The section element
  • 3.8.3. The nav element
  • 3.8.4. The article element
  • 3.8.5. The blockquote element
  • 3.8.6. The aside element
  • 3.8.7. The h1, h2, h3, h4, h5, and h6 elements
  • 3.8.8. The header element
  • 3.8.9. The footer element
  • 3.8.10. The address element
  • 3.8.11. Headings and sections
  • 3.8.11.1. Creating an outline
  • 3.8.11.2. Determining which heading and section applies to a particular node
  • 3.8.11.3. Distinguishing site-wide headers from page headers
  • 3.9. Prose
  • 3.9.1. The p element
  • 3.9.2. The hr element
  • 3.9.3. The br element
  • 3.9.4. The dialog element
  • 3.10. Preformatted text
  • 3.10.1. The pre element
  • 3.11. Lists
  • 3.11.1. The ol element
  • 3.11.2. The ul element
  • 3.11.3. The li element
  • 3.11.4. The dl element
  • 3.11.5. The dt element
  • 3.11.6. The dd element
  • 3.12. Phrase elements
  • 3.12.1. The a element
  • 3.12.2. The q element
  • 3.12.3. The cite element
  • 3.12.4. The em element
  • 3.12.5. The strong element
  • 3.12.6. The small element
  • 3.12.7. The m element
  • 3.12.8. The dfn element
  • 3.12.9. The abbr element
  • 3.12.10. The time element
  • 3.12.11. The progress element
  • 3.12.12. The meter element
  • 3.12.13. The code element
  • 3.12.14. The var element
  • 3.12.15. The samp element
  • 3.12.16. The kbd element
  • 3.12.17. The sub and sup elements
  • 3.12.18. The span element
  • 3.12.19. The i element
  • 3.12.20. The b element
  • 3.12.21. The bdo element
  • 3.13. Edits
  • 3.13.1. The ins element
  • 3.13.2. The del element
  • 3.13.3. Attributes common to ins and del elements
  • 3.14. Embedded content
  • 3.14.1. The figure element
  • 3.14.2. The img element
  • 3.14.3. The iframe element
  • 3.14.4. The embed element
  • 3.14.5. The object element
  • 3.14.6. The param element
  • 3.14.7. The video element
  • 3.14.7.1. Video and audio codecs for video elements
  • 3.14.8. The audio element
  • 3.14.8.1. Audio codecs for audio elements
  • 3.14.9. Media elements
  • 3.14.9.1. Error codes
  • 3.14.9.2. Location of the media resource
  • 3.14.9.3. Network states
  • 3.14.9.4. Loading the media resource
  • 3.14.9.5. Offsets into the media resource
  • 3.14.9.6. The ready states
  • 3.14.9.7. Playing the media resource
  • 3.14.9.8. Seeking
  • 3.14.9.9. Cue ranges
  • 3.14.9.10. User interface
  • 3.14.9.11. Time range
  • 3.14.9.12. Event summary
  • 3.14.9.13. Security and privacy considerations
  • 3.14.10. The source element
  • 3.14.11. The canvas element
  • 3.14.11.1. The 2D context
  • 3.14.11.1.1. The canvas state
  • 3.14.11.1.2. Transformations
  • 3.14.11.1.3. Compositing
  • 3.14.11.1.4. Colors and styles
  • 3.14.11.1.5. Line styles
  • 3.14.11.1.6. Shadows
  • 3.14.11.1.7. Simple shapes (rectangles)
  • 3.14.11.1.8. Complex shapes (paths)
  • 3.14.11.1.9. Images
  • 3.14.11.1.10. Pixel manipulation
  • 3.14.11.1.11. Drawing model
  • 3.14.11.2. Color spaces and color correction
  • 3.14.12. The map element
  • 3.14.13. The area element
  • 3.14.14. Image maps
  • 3.14.15. Dimension attributes
  • 3.15. Tabular data
  • 3.15.1. The table element
  • 3.15.2. The caption element
  • 3.15.3. The colgroup element
  • 3.15.4. The col element
  • 3.15.5. The tbody element
  • 3.15.6. The thead element
  • 3.15.7. The tfoot element
  • 3.15.8. The tr element
  • 3.15.9. The td element
  • 3.15.10. The th element
  • 3.15.11. Processing model
  • 3.15.11.1. Forming a table
  • 3.15.11.2. Forming relationships between data cells and header cells
  • 3.16. Forms
  • 3.16.1. The form element
  • 3.16.2. The fieldset element
  • 3.16.3. The input element
  • 3.16.4. The button element
  • 3.16.5. The label element
  • 3.16.6. The select element
  • 3.16.7. The datalist element
  • 3.16.8. The optgroup element
  • 3.16.9. The option element
  • 3.16.10. The textarea element
  • 3.16.11. The output element
  • 3.16.12. Processing model
  • 3.16.12.1. Form submission
  • 3.17. Scripting
  • 3.17.1. The script element
  • 3.17.1.1. Scripting languages
  • 3.17.2. The noscript element
  • 3.17.3. The event-source element
  • 3.18. Interactive elements
  • 3.18.1. The details element
  • 3.18.2. The datagrid element
  • 3.18.2.1. The datagrid data model
  • 3.18.2.2. How rows are identified
  • 3.18.2.3. The data provider interface
  • 3.18.2.4. The default data provider
  • 3.18.2.4.1. Common default data provider method definitions for cells
  • 3.18.2.5. Populating the datagrid element
  • 3.18.2.6. Updating the datagrid
  • 3.18.2.7. Requirements for interactive user agents
  • 3.18.2.8. The selection
  • 3.18.2.9. Columns and captions
  • 3.18.3. The command element
  • 3.18.4. The menu element
  • 3.18.4.1. Introduction
  • 3.18.4.2. Building menus and tool bars
  • 3.18.4.3. Context menus
  • 3.18.4.4. Toolbars
  • 3.18.5. Commands
  • 3.18.5.1. Using the a element to define a command
  • 3.18.5.2. Using the button element to define a command
  • 3.18.5.3. Using the input element to define a command
  • 3.18.5.4. Using the option element to define a command
  • 3.18.5.5. Using the command element to define a command
  • 3.19. Data Templates
  • 3.19.1. Introduction
  • 3.19.2. The datatemplate element
  • 3.19.3. The rule element
  • 3.19.4. The nest element
  • 3.19.5. Global attributes for data templates
  • 3.19.6. Processing model
  • 3.19.6.1. The originalContent DOM attribute
  • 3.19.6.2. The template attribute
  • 3.19.6.3. The ref attribute
  • 3.19.6.4. The NodeDataTemplate interface
  • 3.19.6.5. Mutations
  • 3.19.6.6. Updating the generated content
  • 3.20. Miscellaneous elements
  • 3.20.1. The legend element
  • 3.20.2. The div element
  • 4. Web browsers
  • 4.1. Browsing contexts
  • 4.1.1. Nested browsing contexts
  • 4.1.2. Auxiliary browsing contexts
  • 4.1.3. Secondary browsing contexts
  • 4.1.4. Threads
  • 4.1.5. Browsing context names
  • 4.2. The default view
  • 4.2.1. Security
  • 4.2.2. Constructors
  • 4.2.3. APIs for creating and navigating browsing contexts by name
  • 4.2.4. Accessing other browsing contexts
  • 4.3. Scripting
  • 4.3.1. Running executable code
  • 4.3.2. Origin
  • 4.3.3. Unscripted same-origin checks
  • 4.3.4. Security exceptions
  • 4.3.5. The javascript: protocol
  • 4.3.6. Events
  • 4.3.6.1. Event handler attributes
  • 4.3.6.2. Event firing
  • 4.3.6.3. Events and the Window object
  • 4.3.6.4. Runtime script errors
  • 4.4. User prompts
  • 4.5. Browser state
  • 4.5.1. Custom protocol and content handlers
  • 4.5.1.1. Security and privacy
  • 4.5.1.2. Sample user interface
  • 4.6. Offline Web applications
  • 4.6.1. Introduction
  • 4.6.2. Application caches
  • 4.6.3. The cache manifest syntax
  • 4.6.3.1. Writing cache manifests
  • 4.6.3.2. Parsing cache manifests
  • 4.6.4. Updating an application cache
  • 4.6.5. Processing model
  • 4.6.5.1. Changes to the networking model
  • 4.6.6. Application cache API
  • 4.6.7. Browser state
  • 4.7. Session history and navigation
  • 4.7.1. The session history of browsing contexts
  • 4.7.2. The History interface
  • 4.7.3. Activating state objects
  • 4.7.4. The Location interface
  • 4.7.4.1. Security
  • 4.7.5. Implementation notes for session history
  • 4.8. Navigating across documents
  • 4.8.1. Page load processing model for HTML files
  • 4.8.2. Page load processing model for XML files
  • 4.8.3. Page load processing model for text files
  • 4.8.4. Page load processing model for images
  • 4.8.5. Page load processing model for content that uses plugins
  • 4.8.6. Page load processing model for inline content that doesn't have a DOM
  • 4.8.7. Navigating to a fragment identifier
  • 4.9. Determining the type of a new resource in a browsing context
  • 4.9.1. Content-Type sniffing: text or binary
  • 4.9.2. Content-Type sniffing: unknown type
  • 4.9.3. Content-Type sniffing: image
  • 4.9.4. Content-Type sniffing: feed or HTML
  • 4.9.5. Content-Type metadata
  • 4.10. Client-side session and persistent storage of name/value pairs
  • 4.10.1. Introduction
  • 4.10.2. The Storage interface
  • 4.10.3. The sessionStorage attribute
  • 4.10.4. The globalStorage attribute
  • 4.10.5. The storage event
  • 4.10.6. Miscellaneous implementation requirements for storage areas
  • 4.10.6.1. Disk space
  • 4.10.6.2. Threads
  • 4.10.7. Security and privacy
  • 4.10.7.1. User tracking
  • 4.10.7.2. Cookie resurrection
  • 4.10.7.3. DNS spoofing attacks
  • 4.10.7.4. Cross-directory attacks
  • 4.10.7.5. Implementation risks
  • 4.11. Client-side database storage
  • 4.11.1. Introduction
  • 4.11.2. Databases
  • 4.11.3. Executing SQL statements
  • 4.11.4. Database query results
  • 4.11.5. Errors
  • 4.11.6. Processing model
  • 4.11.7. Privacy
  • 4.11.8. Security
  • 4.11.8.1. User agents
  • 4.11.8.2. SQL injection
  • 4.12. Links
  • 4.12.1. Hyperlink elements
  • 4.12.2. Following hyperlinks
  • 4.12.2.1. Hyperlink auditing
  • 4.12.3. Link types
  • 4.12.3.1. Link type "alternate"
  • 4.12.3.2. Link type "archives"
  • 4.12.3.3. Link type "author"
  • 4.12.3.4. Link type "bookmark"
  • 4.12.3.5. Link type "contact"
  • 4.12.3.6. Link type "external"
  • 4.12.3.7. Link type "feed"
  • 4.12.3.8. Link type "help"
  • 4.12.3.9. Link type "icon"
  • 4.12.3.10. Link type "license"
  • 4.12.3.11. Link type "nofollow"
  • 4.12.3.12. Link type "noreferrer"
  • 4.12.3.13. Link type "pingback"
  • 4.12.3.14. Link type "prefetch"
  • 4.12.3.15. Link type "search"
  • 4.12.3.16. Link type "stylesheet"
  • 4.12.3.17. Link type "sidebar"
  • 4.12.3.18. Link type "tag"
  • 4.12.3.19. Hierarchical link types
  • 4.12.3.19.1. Link type "index"
  • 4.12.3.19.2. Link type "up"
  • 4.12.3.20. Sequential link types
  • 4.12.3.20.1. Link type "first"
  • 4.12.3.20.2. Link type "last"
  • 4.12.3.20.3. Link type "next"
  • 4.12.3.20.4. Link type "prev"
  • 4.12.3.21. Other link types
  • 4.13. Interfaces for URI manipulation
  • 5. Editing
  • 5.1. Introduction
  • 5.2. The contenteditable attribute
  • 5.2.1. User editing actions
  • 5.2.2. Making entire documents editable
  • 5.3. Drag and drop
  • 5.3.1. The DragEvent and DataTransfer interfaces
  • 5.3.2. Events fired during a drag-and-drop action
  • 5.3.3. Drag-and-drop processing model
  • 5.3.3.1. When the drag-and-drop operation starts or ends in another document
  • 5.3.3.2. When the drag-and-drop operation starts or ends in another application
  • 5.3.4. The draggable attribute
  • 5.3.5. Copy and paste
  • 5.3.5.1. Copy to clipboard
  • 5.3.5.2. Cut to clipboard
  • 5.3.5.3. Paste from clipboard
  • 5.3.5.4. Paste from selection
  • 5.3.6. Security risks in the drag-and-drop model
  • 5.4. Undo history
  • 5.4.1. The UndoManager interface
  • 5.4.2. Undo: moving back in the undo transaction history
  • 5.4.3. Redo: moving forward in the undo transaction history
  • 5.4.4. The UndoManagerEvent interface and the undo and redo events
  • 5.4.5. Implementation notes
  • 5.5. Command APIs
  • 5.6. The text selection APIs
  • 5.6.1. APIs for the browsing context selection
  • 5.6.2. APIs for the text field selections
  • 6. Communication
  • 6.1. Event definitions
  • 6.2. Server-sent DOM events
  • 6.2.1. The RemoteEventTarget interface
  • 6.2.2. Connecting to an event stream
  • 6.2.3. Parsing an event stream
  • 6.2.4. Interpreting an event stream
  • 6.2.5. Notes
  • 6.3. Network connections
  • 6.3.1. Introduction
  • 6.3.2. The Connection interface
  • 6.3.3. Connection Events
  • 6.3.4. TCP connections
  • 6.3.5. Broadcast connections
  • 6.3.5.1. Broadcasting over TCP/IP
  • 6.3.5.2. Broadcasting over Bluetooth
  • 6.3.5.3. Broadcasting over IrDA
  • 6.3.6. Peer-to-peer connections
  • 6.3.6.1. Peer-to-peer connections over TCP/IP
  • 6.3.6.2. Peer-to-peer connections over Bluetooth
  • 6.3.6.3. Peer-to-peer connections over IrDA
  • 6.3.7. The common protocol for TCP-based connections
  • 6.3.7.1. Clients connecting over TCP
  • 6.3.7.2. Servers accepting connections over TCP
  • 6.3.7.3. Sending and receiving data over TCP
  • 6.3.8. Security
  • 6.3.9. Relationship to other standards
  • 6.4. Cross-document messaging
  • 6.4.1. Processing model
  • 7. Repetition templates
  • 8. The HTML syntax
  • 8.1. Writing HTML documents
  • 8.1.1. The DOCTYPE
  • 8.1.2. Elements
  • 8.1.2.1. Start tags
  • 8.1.2.2. End tags
  • 8.1.2.3. Attributes
  • 8.1.2.4. Optional tags
  • 8.1.2.5. Restrictions on content models
  • 8.1.2.6. Restrictions on the contents of CDATA and RCDATA elements
  • 8.1.3. Text
  • 8.1.3.1. Newlines
  • 8.1.4. Character entity references
  • 8.1.5. Comments
  • 8.2. Parsing HTML documents
  • 8.2.1. Overview of the parsing model
  • 8.2.2. The input stream
  • 8.2.2.1. Determining the character encoding
  • 8.2.2.2. Character encoding requirements
  • 8.2.2.3. Preprocessing the input stream
  • 8.2.2.4. Changing the encoding while parsing
  • 8.2.3. Tokenisation
  • 8.2.3.1. Tokenising entities
  • 8.2.4. Tree construction
  • 8.2.4.1. The initial phase
  • 8.2.4.2. The root element phase
  • 8.2.4.3. The main phase
  • 8.2.4.3.1. The stack of open elements
  • 8.2.4.3.2. The list of active formatting elements
  • 8.2.4.3.3. Creating and inserting HTML elements
  • 8.2.4.3.4. Closing elements that have implied end tags
  • 8.2.4.3.5. The element pointers
  • 8.2.4.3.6. The insertion mode
  • 8.2.4.3.7. How to handle tokens in the main phase
  • 8.2.4.4. The trailing end phase
  • 8.2.5. The End
  • 8.3. Namespaces
  • 8.4. Serialising HTML fragments
  • 8.5. Parsing HTML fragments
  • 8.6. Entities
  • 9. WYSIWYG editors
  • 9.1. Presentational markup
  • 9.1.1. WYSIWYG signature
  • 9.1.2. The font element
  • 10. Rendering
  • 10.1. Rendering and the DOM
  • 10.2. Rendering and menus/toolbars
  • 10.2.1. The 'icon' property
  • 11. Things that you can't do with this specification because they are better handled using other technologies that are further described herein
  • 11.1. Localisation
  • 11.2. Declarative 2D vector graphics and animation
  • 11.3. Declarative 3D scenes
  • 11.4. Timers
  • 11.5. Events References Acknowledgements 1. Introduction This section is non-normative. The World Wide Web's markup language has always been HTML. HTML was primarily designed as a language for semantically describing scientific documents, although its general design and adaptations over the years has enabled it to be used to describe a number of other types of documents. The main area that has not been adequately addressed by HTML is a vague subject referred to as Web Applications. This specification attempts to rectify this, while at the same time updating the HTML specifications to address issues raised in the past few years. 1.1. Scope This section is non-normative. This specification is limited to providing a semantic-level markup language and associated semantic-level scripting APIs for authoring accessible pages on the Web ranging from static documents to dynamic applications. The scope of this specification does not include addressing presentation concerns (althou

Reply all
Reply to author
Forward
0 new messages