diff --git a/README.md b/README.md
index 90cf2b8..731a263 100644
--- a/README.md
+++ b/README.md
@@ -24,7 +24,7 @@ An application or framework's centralized router can use the `navigate` event to
```js
appHistory.addEventListener("navigate", e => {
- if (!e.sameOrigin || e.hashChange) {
+ if (!e.canRespond || e.hashChange) {
return;
}
@@ -70,6 +70,8 @@ appHistory.addEventListener("currentchange", e => {
- [Navigation through the app history list](#navigation-through-the-app-history-list)
- [Navigation monitoring and interception](#navigation-monitoring-and-interception)
- [Example: replacing navigations with single-page app navigations](#example-replacing-navigations-with-single-page-app-navigations)
+ - [Example: async transitions with special back/forward handling](#example-async-transitions-with-special-backforward-handling)
+ - [Restrictions on firing, canceling, and responding](#restrictions-on-firing-canceling-and-responding)
- [Accessibility benefits of standardized single-page navigations](#accessibility-benefits-of-standardized-single-page-navigations)
- [Measuring standardized single-page navigations](#measuring-standardized-single-page-navigations)
- [Example: single-page app "redirects"](#example-single-page-app-redirects)
@@ -243,12 +245,14 @@ The most interesting event on `window.appHistory` is the one which allows monito
The event object has several useful properties:
+- `cancelable` (inherited from `Event`): indicates whether `preventDefault()` is allowed to cancel this navigation.
+
+- `canRespond`: indicates whether `respondWith()`, discussed below, is allowed for this navigation.
+
- `userInitiated`: a boolean indicating whether the navigation is user-initiated (i.e., a click on an ``, or a form submission) or application-initiated (e.g. `location.href = ...`, `appHistory.push(...)`, etc.). Note that this will _not_ be `true` when you use mechanisms such as `button.onclick = () => appHistory.push(...)`; the user interaction needs to be with a real link or form. See the table in the [appendix](#appendix-types-of-navigations) for more details.
- `destination`: an `AppHistoryEntry` containing the information about the destination of the navigation. Note that this entry might or might not yet be in `window.appHistory.entries`; if it is not, then its `state` will be `null`.
-- `sameOrigin`: a convenience boolean indicating whether the navigation is same-origin, and thus will stay in the same app history or not. (I.e., this is `(new URL(e.destination.url)).origin === self.origin`.)
-
- `hashChange`: a boolean, indicating whether or not this is a same-document [fragment navigation](https://html.spec.whatwg.org/#scroll-to-fragid).
- `formData`: a [`FormData`](https://developer.mozilla.org/en-US/docs/Web/API/FormData) object containing form submission data, or `null` if the navigation is not a form submission.
@@ -257,26 +261,9 @@ The event object has several useful properties:
- `signal`: an [`AbortSignal`](https://developer.mozilla.org/en-US/docs/Web/API/AbortSignal) which can be monitored for when the navigation gets aborted.
-Note that you can check if the navigation will be [same-document or cross-document](#appendix-types-of-navigations) via `event.destination.sameDocument`.
-
-The event is not fired in the following cases:
-
-- User-initiated cross-document navigations via browser UI, such as the URL bar, back/forward button, or bookmarks.
-- User-initiated same-document navigations via the browser back/forward buttons. (See discussion in [#32](https://github.com/WICG/app-history/issues/32).)
-
-Whenever it is fired, the event is cancelable via `event.preventDefault()`, which prevents the navigation from going through. To name a few notable examples of when the event is fired, i.e. when you can intercept the navigation:
-
-- User-initiated navigations via `` and `