function sensaCollectActivityHints(limit) {
  const hints = [];
  for (const element of document.querySelectorAll("a, button, input, textarea, [role='button']")) {
    if (!sensaIsElementVisible(element)) {
      continue;
    }
    const text = sensaNormalizeText(
      element.textContent ||
        element.getAttribute("aria-label") ||
        element.getAttribute("placeholder") ||
        element.value ||
        ""
    );
    if (!text) {
      continue;
    }
    hints.push({
      tag: element.tagName.toLowerCase(),
      text,
      href: element instanceof HTMLAnchorElement ? element.href || "" : ""
    });
    if (hints.length >= limit) {
      break;
    }
  }
  return hints;
}
