Harmonize create and describe
diff --git a/demo/index.js b/demo/index.js
index c8fe1b5..d65e87e 100644
--- a/demo/index.js
+++ b/demo/index.js
@@ -22,7 +22,7 @@
 import {
   createRangeSelectorCreator,
   createTextQuoteSelector,
-  describeTextQuoteByRange as describeRange,
+  describeTextQuote,
 } from '@annotator/dom';
 import { makeRefinable } from '@annotator/selector';
 import highlightRange from 'dom-highlight-range';
@@ -70,13 +70,13 @@
   if (selection.isCollapsed) return;
 
   const range = selection.getRangeAt(0);
-  const context = document.createRange();
-  context.selectNodeContents(selectable);
+  const scope = document.createRange();
+  scope.selectNodeContents(selectable);
 
-  if (!context.isPointInRange(range.startContainer, range.startOffset)) return;
-  if (!context.isPointInRange(range.endContainer, range.endOffset)) return;
+  if (!scope.isPointInRange(range.startContainer, range.startOffset)) return;
+  if (!scope.isPointInRange(range.endContainer, range.endOffset)) return;
 
-  return describeRange({ range, context });
+  return describeTextQuote(range, scope);
 }
 
 async function onSelectionChange() {
diff --git a/packages/dom/src/text-quote.js b/packages/dom/src/text-quote.js
index bc56fa1..9a7f28c 100644
--- a/packages/dom/src/text-quote.js
+++ b/packages/dom/src/text-quote.js
@@ -117,9 +117,11 @@
   };
 }
 
-export async function describeTextQuoteByRange({ range, context }) {
-  const root = context.commonAncestorContainer;
-  const text = context.toString();
+export async function describeTextQuote(range, scope = null) {
+  scope = rangeFromScope(scope || ownerDocument(range).documentElement);
+
+  const root = scope.commonAncestorContainer;
+  const text = scope.toString();
 
   const exact = range.toString();
   const selector = createTextQuoteSelector({ exact });
@@ -135,7 +137,7 @@
 
   const affixLengthPairs = [[0, 0]];
 
-  for await (const match of selector(context)) {
+  for await (const match of selector(scope)) {
     const matchIter = createNodeIterator(root, SHOW_TEXT);
 
     const matchStartNode = firstTextNodeInRange(match);