Primary source: https://openai.com/products/release-notes/.
OpenAI rolled out unified search across chats, projects, images, and files on web, iOS, and Android. Multiple result types make keyboard and screen-reader behavior more important than a visually tidy list.
type Result={id:string,type:'chat'|'project'|'image'|'file',name:string,context:string};
Each result needs one programmatic name that includes type without repeating every metadata field. Filters must be reachable, removable, and announced when the count changes.
| Event | Expected behavior |
|---|---|
| type query | result count announced after debounce |
| ArrowDown | moves predictably within results |
| change filter | focus remains stable |
| no results | suggestion and clear-filter action |
| open then Back | query and active result restored |
Test 200%/400% zoom, narrow screens, reduced motion, keyboard only, and one browser/screen-reader pair. Loading, offline, cancellation, and retry states need text—not only skeletons.
This is an acceptance proposal, not a claim that the current ChatGPT UI fails these checks. Which state is most often lost in your search UI: query, filters, scroll, or active result?
Top comments (0)