` element identified by the CSS selector `letterpile`—with
-a call to `letterpile.children.add()`.
-
-
![Dart code populates the letter pile with buttons](/assets/img/tutorials/web/anagram-newletters.png)
-
-Each button element in the letter pile
-has a mouse click handler called `moveLetter()`.
-If the button is in the letter pile,
-the mouse click handler moves the button to the end of the word.
-If the button is in the word,
-the mouse click handler moves the button back to the letter pile.
-
-To move the button from the letter pile to the word or back,
-the code simply adds the button to a DOM element
-that is different from the button's current parent.
-Because an element can have only one parent,
-adding the button to a different parent
-automatically removes it from its previous parent.
-
-
![The mouse click handler adds the button to the word, thus moving it](/assets/img/tutorials/web/anagram-move.png)
-
-The `+=` operator is a compound assignment operator,
-which combines an operation (`+`) with an assignment.
-
-The `scrabbleValues` variable is a
-[`Map`]({{site.dart-api}}/{{site.data.pkg-vers.SDK.channel}}/dart-core/Map-class.html){:target="_blank" rel="noopener"}—a
-data structure that contains key/value pairs.
-Use the square bracket syntax to retrieve a value by its key
-and the `length` property to get the number of pairs it contains.
-
-## What next?
-
-The next tutorial, [Remove DOM Elements](remove-elements),
-describes how to remove elements from the DOM and items off your todo list.
diff --git a/src/tutorials/web/low-level-html/connect-dart-html.md b/src/tutorials/web/low-level-html/connect-dart-html.md
deleted file mode 100644
index 90e7d30ab6..0000000000
--- a/src/tutorials/web/low-level-html/connect-dart-html.md
+++ /dev/null
@@ -1,543 +0,0 @@
----
-title: Connect Dart and HTML
-description: Learn how to set up basic scaffolding of a Dart web app.
-nextpage:
- url: /tutorials/web/low-level-html/add-elements
- title: Add elements to the DOM
----
-
-This tutorial is the first of a series on
-basic, low-level web programming with the dart:html library.
-If you use a web framework,
-some of these concepts might be useful,
-but you might not need to use the dart:html library at all.
-
-
-
What's the point?
-
- * DartPad lets you write a simple Dart web app without HTML boilerplate.
- * A Dart web app has Dart, HTML, and (usually) CSS code.
- * Compile a web app's Dart code to JavaScript to run the app in any modern browser.
- * An HTML file hosts your Dart code in a browser page.
- * The DOM models a browser page in a tree/node structure.
- * Use `querySelector()` with an ID to get an element from the DOM.
- * CSS selectors are patterns used to select matching elements in the DOM.
- * Use CSS rules to style elements.
-
-
-To write a low-level web app with Dart,
-you need to understand
-several topics—the DOM tree, nodes, elements,
-HTML, and the Dart language and libraries.
-
-The interdependencies are circular,
-but we have to begin somewhere,
-so we begin with a simple HTML file,
-which introduces the DOM tree and nodes.
-From there,
-you build a bare bones, stripped-down
-Dart app
-that contains just enough code to
-dynamically put text on the page from the Dart side.
-
-Though simple,
-this example shows you how to connect a Dart
-app to an HTML page and
-one way that a Dart app can interact with items on the page.
-These concepts provide the foundation
-for more interesting and useful web apps.
-
-## About the Dart, HTML, and CSS triumvirate {#source-files}
-
-If you've used
-[DartPad]({{site.dartpad}}){:target="_blank" rel="noopener"},
-you may have already seen the Dart, HTML, and CSS tabs
-that let you write the code for a web app.
-Each of these three languages
-is responsible for a different aspect of the web app.
-
-| Language | Purpose |
-|----------|----------------------------------------------------------------------------------------------|
-| Dart | Implements the interactivity and dynamic behavior of the web app |
-| HTML | Describes the content of the web app's page (the elements in the document and the structure) |
-| CSS | Governs the appearance of page elements |
-{: .table}
-
-A Dart program can
-respond to events such as mouse clicks,
-manipulate the elements on a web page dynamically,
-and save information.
-Before the web app is deployed,
-the Dart code must be compiled into JavaScript code.
-
-HTML is a language for describing web pages.
-Using tags, HTML sets up the initial page structure,
-puts elements on the page,
-and embeds any scripts for page interactivity.
-HTML sets up the initial document tree
-and specifies element types, classes, and IDs,
-which allow HTML, CSS, and Dart programs to refer to the same elements.
-
-CSS, which stands for _Cascading Style Sheets_, describes the appearance
-of the elements within a document.
-CSS controls many aspects of formatting:
-type face, font size, color, background color,
-borders, margins, and alignment, to name a few.
-
-
-## About the DOM {#dom-intro}
-
-The Document Object Model (DOM)
-represents the structure of a web document as a tree of nodes.
-When an HTML file is loaded into a browser,
-the browser interprets the HTML
-and displays the document in a window.
-The following diagram shows a simple HTML file and
-the resulting web browser page in Chrome.
-
-
![A simple HTML file and its resulting web page](/assets/img/tutorials/web/simple-html.png)
-
-HTML uses tags to describe the document.
-For example, the simple HTML code above
-uses the `
` tag for the page title,
-`` for a level-one header,
-and `
` for a paragraph.
-Some tags in the HTML code,
-such as `
` and ``,
-are not visible on the web page,
-but do contribute to the structure of the document.
-
-In the DOM,
-the document object sits at the root of the tree
-(it has no parent).
-Different kinds of nodes in the tree
-represent different kinds of objects in the document.
-For example, the tree has page elements,
-text nodes, and attribute nodes.
-Here is the DOM tree for the simple HTML file above.
-
-
![A Dart dynamically changing the DOM](/assets/img/tutorials/web/simple-dom-tree.png)
-
-Notice that some tags, such as the `
` paragraph tag,
-are represented by multiple nodes.
-The paragraph itself is an element node.
-The text within the paragraph is a text node
-(and in some cases, might be a subtree containing many nodes).
-And the ID is an attribute node.
-
-Except for the root node, each node in the tree has exactly one parent.
-Each node can have many children.
-
-An HTML file defines the initial structure of a document.
-Dart or JavaScript can dynamically modify that document
-by adding, deleting, and modifying the nodes in the DOM tree.
-When the DOM is changed,
-the browser immediately re-renders the window.
-
-
-
-The diagram shows a small Dart program that makes
-a modest change to the DOM by dynamically
-changing a paragraph's text.
-A program could add and delete nodes,
-or even insert an entire subtree of nodes.
-
-
-## Create a new Dart app {#create-dart-app}
-
-1. Go to the [DartPad]({{site.dartpad}}){:target="_blank" rel="noopener"}.
-2. Click the **New Pad** button to undo any changes you might have made
- the last time you visited DartPad.
-3. Click **Dart**.
-4. Select **HTML** (below **Dart**),
- so you can edit HTML and CSS in DartPad.
-
-{{site.alert.note}}
- These instructions feature DartPad,
- which hides some HTML boilerplate code.
- If you want to use any other editor,
- then we recommend starting with a small Dart web app sample
- and modifying the non-script tags inside the `
` section.
- [HTML and Dart connections](#connections) shows the full HTML code.
-{{site.alert.end}}
-
-## Edit the HTML source code {#create-html}
-
-1. Click **HTML**, at the upper left of DartPad.
- The view switches from Dart code to the (currently non-existent) HTML code.
-
-2. Add the following HTML code:
-
- ```html
-
- RipVanWinkle paragraph.
-
- ```
-
-3. Expand the output pane to see how a browser would render your HTML.
-
-
-## About the HTML source code {#about-html-code}
-
-This HTML code is similar to the HTML code in the
-various diagrams earlier in this tutorial,
-but it's even simpler.
-
-In DartPad you need only the tags you really care about—in this case: `
`.
-You don't need surrounding tags such as `` and `
`.
-Because DartPad knows where your Dart code is,
-you don't need a `
-
-
-
- RipVanWinkle paragraph.
-
-
-
-```
-
-The `