---
title: "onehtml articles"
url: https://recursiveai.org/onehtml/articles/
description: "Guides to working with onehtml: how-tos, migrations and comparisons."
---

# onehtml articles

Guides to working with onehtml: how-tos, migrations and comparisons.

- [Web scraping in C#](https://recursiveai.org/onehtml/articles/web-scraping-csharp/) (October 27, 2026): Web scraping in C# with HttpClient and CSS selectors: fetch a page, extract data, follow pagination politely, and handle pages that JavaScript builds.
- [CSS selectors in C#](https://recursiveai.org/onehtml/articles/css-selectors-csharp/) (October 27, 2026): Query HTML with CSS selectors in C#: QuerySelectorAll, :has() and other Level 4 selectors, tested in onehtml, AngleSharp and HtmlAgilityPack with Fizzler.
- [Automated accessibility testing in .NET](https://recursiveai.org/onehtml/articles/automated-accessibility-testing-dotnet/) (October 27, 2026): Automated accessibility testing in .NET: check pages against WCAG 2.2 AA in xUnit tests, ASP.NET Core integration tests and Selenium, and gate CI on it.
- [What is the accessibility tree?](https://recursiveai.org/onehtml/articles/accessibility-tree/) (October 27, 2026): The accessibility tree is what browsers expose to screen readers: roles, names and states built from the DOM. See how it differs and compute it in C#.
- [Accessibility testing with Playwright in C#](https://recursiveai.org/onehtml/articles/playwright-accessibility-testing-csharp/) (October 26, 2026): Run axe-core accessibility checks in Playwright .NET tests with Deque.AxeCore.Playwright, then add WCAG 2.2 checks, layout facts and SARIF with onehtml.
- [Parse HTML in C#](https://recursiveai.org/onehtml/articles/parse-html-csharp/) (October 26, 2026): Parse HTML in C# the way a browser does: load a string, file or URL, query it with CSS selectors, and handle broken markup and legacy encodings.
- [Migrate from HtmlAgilityPack to onehtml](https://recursiveai.org/onehtml/articles/migrate-from-htmlagilitypack/) (October 26, 2026): Move C# code from HtmlAgilityPack to onehtml: LoadHtml, SelectNodes, InnerText, OuterHtml and Save mapped, with both sides run. No XPath; .NET 10 only.
- [HtmlAgilityPack vs AngleSharp](https://recursiveai.org/onehtml/articles/htmlagilitypack-vs-anglesharp/) (October 26, 2026): HtmlAgilityPack vs AngleSharp compared on parsing, XPath and CSS selectors, frameworks and speed, with the same code run in both, and where onehtml fits.
- [Extract visible text from HTML in C#](https://recursiveai.org/onehtml/articles/extract-visible-text-from-html-csharp/) (October 26, 2026): Get the readable text of an HTML page in C# without script, style or CSS-hidden content, and see why InnerText and TextContent return more than you see.
