アップル社のiPhoneにはVoiceOverというテキストを音声に変えるアクセシビリティ機能が、視覚障害者向けとしてありますが、しばしばVoiceOverが対応できないサイトがあります。ホワイトハウスのサイトもかつてはVoiceOverがプレスリリースを読み上げる事ができませんでした。
こういったケースでは
まずVoiceOverの有無を確認
if UIAccessibility.isVoiceOverRunning {
そしてVoiceOverに対応していないサイトを用意してあるブラックリストのデータベースと比較、確認し、対応していないサイトをPDF 化し、VoiceOverがテキストを読めるようにする。ここで重要なのでPDF化のための時間を1秒置き、PDFファイルとして端末にファイルを保存し、webViewでPDFファイルを読み込んでアプリのブラウザで表示する
let seconds = 1.0
DispatchQueue.main.asyncAfter(deadline: .now() + seconds) {
let pdfDocument = self.webView.getContentsPDFData()
let documentsPath = NSSearchPathForDirectoriesInDomains(.documentDirectory, .userDomainMask, true)[0]
let filePath = “\(documentsPath)/myPDF.pdf”
pdfDocument.write(toFile: filePath, atomically: true)