Is it possible to build or built-in capability in SharePoint Online that shows you when a document has actually been read? We have enabled the viewing option and it shows who has viewed but not actually if they spent time reading the document or a way to extract this information.
No, SharePoint Online does not have a built-in capability to show when a document has actually been read. SharePoint only provides information on who has viewed the document and when, but it does not provide information on the time spent reading the document.
There are third-party tools available that can provide more detailed information on document usage, including the time spent reading a document. These tools usually provide additional analytics and reporting features that are not available in SharePoint by default. The tools I know are:
DocAve Platform by AvePoint
These tools that provide document usage analytics for SharePoint Online.