verifying that web pages have accessible layout
play

Verifying That Web Pages Have Accessible Layout Pavel Panchekha , - PowerPoint PPT Presentation

Verifying That Web Pages Have Accessible Layout Pavel Panchekha , Adam T. Geller, Michael D. Ernst, Zachary Tatlock, Shoaib Kamil This Work: Automated Veri fi cation for Web Page Layout 3.6M lines 66% 17% 9% 7% Backend Layout Script


  1. Verifying That Web Pages Have Accessible Layout Pavel Panchekha , Adam T. Geller, Michael D. Ernst, Zachary Tatlock, Shoaib Kamil

  2. 
 This Work: Automated Veri fi cation for Web Page Layout 3.6M lines 66% 17% 9% 7% Backend Layout Script Con fi g Existing Verification Work

  3. Multiple layouts, responsive design

  4. Usability, accessibility, mobile-friendliness ADA Compliance

  5. Complex Correctness + Behavior Properties HELP ? WANTED VizAssert Automatic Veri fi cation for Web Page Layout

  6. VizAssert Guideline + or Button visible Sound Guarantee Plus Concrete Rendering Over configurable range of: Browser widths Browser heights Font sizes Scrollbar widths ….

  7. <latexit sha1_base64="CisXTKkR90TFzhWYa2lkiGz4zW4=">AChHicbVFdb9MwFHUCjFG+OnjkxaIwOqlUSQHBE5rGC49Dotukuqpu3JvVmNH9s2givJL+Fe8W9w0g7BxpVsHZ1zj30/slIrT0nyK4pv3b6zc3f3Xu/+g4ePHvf3npx4WzmJU2m1dWcZeNTK4JQUaTwrHUKRaTzNLj61+uklOq+s+UrEucFnBuVKwkUqEX/x7IrQOtebZIR+GacKEMFwXQSoKuj5qREL39IG74F0NB+J18Xo89gpOr1lFZE1zwIUGs+R1wzeGyR9D+1ZrIGt1Bq5NVUVoDn2XeqV/U7RSphleFXKw6A+ScdIFvwnSLRiwbRwv+j/F0sqQENSg/ezNClpXoMjJTU2PVF5LEFewDnOAjRQoJ/X3RAb/jIwSx6GEY4h3rF/O2ovF8XWcjsCr6uteT/tFlF+Yd5rUxZERq5+SivNCfL243wpXIoSa8DAOlUqJXLFTiQFPbWC0NIr7d8E5xMxmkyTr+8HRwebcexy56x52zIUvaeHbLP7JhNmYyi6FWURGm8E4/iN/G7TWocbT1P2T8Rf/wNjsm+bg=</latexit> <latexit sha1_base64="CisXTKkR90TFzhWYa2lkiGz4zW4=">AChHicbVFdb9MwFHUCjFG+OnjkxaIwOqlUSQHBE5rGC49Dotukuqpu3JvVmNH9s2givJL+Fe8W9w0g7BxpVsHZ1zj30/slIrT0nyK4pv3b6zc3f3Xu/+g4ePHvf3npx4WzmJU2m1dWcZeNTK4JQUaTwrHUKRaTzNLj61+uklOq+s+UrEucFnBuVKwkUqEX/x7IrQOtebZIR+GacKEMFwXQSoKuj5qREL39IG74F0NB+J18Xo89gpOr1lFZE1zwIUGs+R1wzeGyR9D+1ZrIGt1Bq5NVUVoDn2XeqV/U7RSphleFXKw6A+ScdIFvwnSLRiwbRwv+j/F0sqQENSg/ezNClpXoMjJTU2PVF5LEFewDnOAjRQoJ/X3RAb/jIwSx6GEY4h3rF/O2ovF8XWcjsCr6uteT/tFlF+Yd5rUxZERq5+SivNCfL243wpXIoSa8DAOlUqJXLFTiQFPbWC0NIr7d8E5xMxmkyTr+8HRwebcexy56x52zIUvaeHbLP7JhNmYyi6FWURGm8E4/iN/G7TWocbT1P2T8Rf/wNjsm+bg=</latexit> <latexit sha1_base64="CisXTKkR90TFzhWYa2lkiGz4zW4=">AChHicbVFdb9MwFHUCjFG+OnjkxaIwOqlUSQHBE5rGC49Dotukuqpu3JvVmNH9s2givJL+Fe8W9w0g7BxpVsHZ1zj30/slIrT0nyK4pv3b6zc3f3Xu/+g4ePHvf3npx4WzmJU2m1dWcZeNTK4JQUaTwrHUKRaTzNLj61+uklOq+s+UrEucFnBuVKwkUqEX/x7IrQOtebZIR+GacKEMFwXQSoKuj5qREL39IG74F0NB+J18Xo89gpOr1lFZE1zwIUGs+R1wzeGyR9D+1ZrIGt1Bq5NVUVoDn2XeqV/U7RSphleFXKw6A+ScdIFvwnSLRiwbRwv+j/F0sqQENSg/ezNClpXoMjJTU2PVF5LEFewDnOAjRQoJ/X3RAb/jIwSx6GEY4h3rF/O2ovF8XWcjsCr6uteT/tFlF+Yd5rUxZERq5+SivNCfL243wpXIoSa8DAOlUqJXLFTiQFPbWC0NIr7d8E5xMxmkyTr+8HRwebcexy56x52zIUvaeHbLP7JhNmYyi6FWURGm8E4/iN/G7TWocbT1P2T8Rf/wNjsm+bg=</latexit> <latexit sha1_base64="CisXTKkR90TFzhWYa2lkiGz4zW4=">AChHicbVFdb9MwFHUCjFG+OnjkxaIwOqlUSQHBE5rGC49Dotukuqpu3JvVmNH9s2givJL+Fe8W9w0g7BxpVsHZ1zj30/slIrT0nyK4pv3b6zc3f3Xu/+g4ePHvf3npx4WzmJU2m1dWcZeNTK4JQUaTwrHUKRaTzNLj61+uklOq+s+UrEucFnBuVKwkUqEX/x7IrQOtebZIR+GacKEMFwXQSoKuj5qREL39IG74F0NB+J18Xo89gpOr1lFZE1zwIUGs+R1wzeGyR9D+1ZrIGt1Bq5NVUVoDn2XeqV/U7RSphleFXKw6A+ScdIFvwnSLRiwbRwv+j/F0sqQENSg/ezNClpXoMjJTU2PVF5LEFewDnOAjRQoJ/X3RAb/jIwSx6GEY4h3rF/O2ovF8XWcjsCr6uteT/tFlF+Yd5rUxZERq5+SivNCfL243wpXIoSa8DAOlUqJXLFTiQFPbWC0NIr7d8E5xMxmkyTr+8HRwebcexy56x52zIUvaeHbLP7JhNmYyi6FWURGm8E4/iN/G7TWocbT1P2T8Rf/wNjsm+bg=</latexit> VizAssert Guideline + or Button visible 2. Z3 1. (set-logic QF_LRA) (declare-type Box …) Renderings ∀ b 1 , b 2 ∈ B , (declare-const b1 Box) b 1 ∈ $( .search-button ) ∧ 3. (declare-const b2 Box) b 2 ∈ $( . toolbar ) = ⇒ (assert (not …)) within ( b 1 , b 2 ) Visual Logic SMT Query

  8. <latexit sha1_base64="CisXTKkR90TFzhWYa2lkiGz4zW4=">AChHicbVFdb9MwFHUCjFG+OnjkxaIwOqlUSQHBE5rGC49Dotukuqpu3JvVmNH9s2givJL+Fe8W9w0g7BxpVsHZ1zj30/slIrT0nyK4pv3b6zc3f3Xu/+g4ePHvf3npx4WzmJU2m1dWcZeNTK4JQUaTwrHUKRaTzNLj61+uklOq+s+UrEucFnBuVKwkUqEX/x7IrQOtebZIR+GacKEMFwXQSoKuj5qREL39IG74F0NB+J18Xo89gpOr1lFZE1zwIUGs+R1wzeGyR9D+1ZrIGt1Bq5NVUVoDn2XeqV/U7RSphleFXKw6A+ScdIFvwnSLRiwbRwv+j/F0sqQENSg/ezNClpXoMjJTU2PVF5LEFewDnOAjRQoJ/X3RAb/jIwSx6GEY4h3rF/O2ovF8XWcjsCr6uteT/tFlF+Yd5rUxZERq5+SivNCfL243wpXIoSa8DAOlUqJXLFTiQFPbWC0NIr7d8E5xMxmkyTr+8HRwebcexy56x52zIUvaeHbLP7JhNmYyi6FWURGm8E4/iN/G7TWocbT1P2T8Rf/wNjsm+bg=</latexit> <latexit sha1_base64="CisXTKkR90TFzhWYa2lkiGz4zW4=">AChHicbVFdb9MwFHUCjFG+OnjkxaIwOqlUSQHBE5rGC49Dotukuqpu3JvVmNH9s2givJL+Fe8W9w0g7BxpVsHZ1zj30/slIrT0nyK4pv3b6zc3f3Xu/+g4ePHvf3npx4WzmJU2m1dWcZeNTK4JQUaTwrHUKRaTzNLj61+uklOq+s+UrEucFnBuVKwkUqEX/x7IrQOtebZIR+GacKEMFwXQSoKuj5qREL39IG74F0NB+J18Xo89gpOr1lFZE1zwIUGs+R1wzeGyR9D+1ZrIGt1Bq5NVUVoDn2XeqV/U7RSphleFXKw6A+ScdIFvwnSLRiwbRwv+j/F0sqQENSg/ezNClpXoMjJTU2PVF5LEFewDnOAjRQoJ/X3RAb/jIwSx6GEY4h3rF/O2ovF8XWcjsCr6uteT/tFlF+Yd5rUxZERq5+SivNCfL243wpXIoSa8DAOlUqJXLFTiQFPbWC0NIr7d8E5xMxmkyTr+8HRwebcexy56x52zIUvaeHbLP7JhNmYyi6FWURGm8E4/iN/G7TWocbT1P2T8Rf/wNjsm+bg=</latexit> <latexit sha1_base64="CisXTKkR90TFzhWYa2lkiGz4zW4=">AChHicbVFdb9MwFHUCjFG+OnjkxaIwOqlUSQHBE5rGC49Dotukuqpu3JvVmNH9s2givJL+Fe8W9w0g7BxpVsHZ1zj30/slIrT0nyK4pv3b6zc3f3Xu/+g4ePHvf3npx4WzmJU2m1dWcZeNTK4JQUaTwrHUKRaTzNLj61+uklOq+s+UrEucFnBuVKwkUqEX/x7IrQOtebZIR+GacKEMFwXQSoKuj5qREL39IG74F0NB+J18Xo89gpOr1lFZE1zwIUGs+R1wzeGyR9D+1ZrIGt1Bq5NVUVoDn2XeqV/U7RSphleFXKw6A+ScdIFvwnSLRiwbRwv+j/F0sqQENSg/ezNClpXoMjJTU2PVF5LEFewDnOAjRQoJ/X3RAb/jIwSx6GEY4h3rF/O2ovF8XWcjsCr6uteT/tFlF+Yd5rUxZERq5+SivNCfL243wpXIoSa8DAOlUqJXLFTiQFPbWC0NIr7d8E5xMxmkyTr+8HRwebcexy56x52zIUvaeHbLP7JhNmYyi6FWURGm8E4/iN/G7TWocbT1P2T8Rf/wNjsm+bg=</latexit> <latexit sha1_base64="CisXTKkR90TFzhWYa2lkiGz4zW4=">AChHicbVFdb9MwFHUCjFG+OnjkxaIwOqlUSQHBE5rGC49Dotukuqpu3JvVmNH9s2givJL+Fe8W9w0g7BxpVsHZ1zj30/slIrT0nyK4pv3b6zc3f3Xu/+g4ePHvf3npx4WzmJU2m1dWcZeNTK4JQUaTwrHUKRaTzNLj61+uklOq+s+UrEucFnBuVKwkUqEX/x7IrQOtebZIR+GacKEMFwXQSoKuj5qREL39IG74F0NB+J18Xo89gpOr1lFZE1zwIUGs+R1wzeGyR9D+1ZrIGt1Bq5NVUVoDn2XeqV/U7RSphleFXKw6A+ScdIFvwnSLRiwbRwv+j/F0sqQENSg/ezNClpXoMjJTU2PVF5LEFewDnOAjRQoJ/X3RAb/jIwSx6GEY4h3rF/O2ovF8XWcjsCr6uteT/tFlF+Yd5rUxZERq5+SivNCfL243wpXIoSa8DAOlUqJXLFTiQFPbWC0NIr7d8E5xMxmkyTr+8HRwebcexy56x52zIUvaeHbLP7JhNmYyi6FWURGm8E4/iN/G7TWocbT1P2T8Rf/wNjsm+bg=</latexit> VizAssert Guideline + or Button visible 2. Z3 1. (set-logic QF_LRA) (declare-type Box …) Renderings ∀ b 1 , b 2 ∈ B , (declare-const b1 Box) b 1 ∈ $( .search-button ) ∧ 3. (declare-const b2 Box) b 2 ∈ $( . toolbar ) = ⇒ (assert (not …)) within ( b 1 , b 2 ) Visual Logic SMT Query

  9. <latexit sha1_base64="CisXTKkR90TFzhWYa2lkiGz4zW4=">AChHicbVFdb9MwFHUCjFG+OnjkxaIwOqlUSQHBE5rGC49Dotukuqpu3JvVmNH9s2givJL+Fe8W9w0g7BxpVsHZ1zj30/slIrT0nyK4pv3b6zc3f3Xu/+g4ePHvf3npx4WzmJU2m1dWcZeNTK4JQUaTwrHUKRaTzNLj61+uklOq+s+UrEucFnBuVKwkUqEX/x7IrQOtebZIR+GacKEMFwXQSoKuj5qREL39IG74F0NB+J18Xo89gpOr1lFZE1zwIUGs+R1wzeGyR9D+1ZrIGt1Bq5NVUVoDn2XeqV/U7RSphleFXKw6A+ScdIFvwnSLRiwbRwv+j/F0sqQENSg/ezNClpXoMjJTU2PVF5LEFewDnOAjRQoJ/X3RAb/jIwSx6GEY4h3rF/O2ovF8XWcjsCr6uteT/tFlF+Yd5rUxZERq5+SivNCfL243wpXIoSa8DAOlUqJXLFTiQFPbWC0NIr7d8E5xMxmkyTr+8HRwebcexy56x52zIUvaeHbLP7JhNmYyi6FWURGm8E4/iN/G7TWocbT1P2T8Rf/wNjsm+bg=</latexit> <latexit sha1_base64="CisXTKkR90TFzhWYa2lkiGz4zW4=">AChHicbVFdb9MwFHUCjFG+OnjkxaIwOqlUSQHBE5rGC49Dotukuqpu3JvVmNH9s2givJL+Fe8W9w0g7BxpVsHZ1zj30/slIrT0nyK4pv3b6zc3f3Xu/+g4ePHvf3npx4WzmJU2m1dWcZeNTK4JQUaTwrHUKRaTzNLj61+uklOq+s+UrEucFnBuVKwkUqEX/x7IrQOtebZIR+GacKEMFwXQSoKuj5qREL39IG74F0NB+J18Xo89gpOr1lFZE1zwIUGs+R1wzeGyR9D+1ZrIGt1Bq5NVUVoDn2XeqV/U7RSphleFXKw6A+ScdIFvwnSLRiwbRwv+j/F0sqQENSg/ezNClpXoMjJTU2PVF5LEFewDnOAjRQoJ/X3RAb/jIwSx6GEY4h3rF/O2ovF8XWcjsCr6uteT/tFlF+Yd5rUxZERq5+SivNCfL243wpXIoSa8DAOlUqJXLFTiQFPbWC0NIr7d8E5xMxmkyTr+8HRwebcexy56x52zIUvaeHbLP7JhNmYyi6FWURGm8E4/iN/G7TWocbT1P2T8Rf/wNjsm+bg=</latexit> <latexit sha1_base64="CisXTKkR90TFzhWYa2lkiGz4zW4=">AChHicbVFdb9MwFHUCjFG+OnjkxaIwOqlUSQHBE5rGC49Dotukuqpu3JvVmNH9s2givJL+Fe8W9w0g7BxpVsHZ1zj30/slIrT0nyK4pv3b6zc3f3Xu/+g4ePHvf3npx4WzmJU2m1dWcZeNTK4JQUaTwrHUKRaTzNLj61+uklOq+s+UrEucFnBuVKwkUqEX/x7IrQOtebZIR+GacKEMFwXQSoKuj5qREL39IG74F0NB+J18Xo89gpOr1lFZE1zwIUGs+R1wzeGyR9D+1ZrIGt1Bq5NVUVoDn2XeqV/U7RSphleFXKw6A+ScdIFvwnSLRiwbRwv+j/F0sqQENSg/ezNClpXoMjJTU2PVF5LEFewDnOAjRQoJ/X3RAb/jIwSx6GEY4h3rF/O2ovF8XWcjsCr6uteT/tFlF+Yd5rUxZERq5+SivNCfL243wpXIoSa8DAOlUqJXLFTiQFPbWC0NIr7d8E5xMxmkyTr+8HRwebcexy56x52zIUvaeHbLP7JhNmYyi6FWURGm8E4/iN/G7TWocbT1P2T8Rf/wNjsm+bg=</latexit> <latexit sha1_base64="CisXTKkR90TFzhWYa2lkiGz4zW4=">AChHicbVFdb9MwFHUCjFG+OnjkxaIwOqlUSQHBE5rGC49Dotukuqpu3JvVmNH9s2givJL+Fe8W9w0g7BxpVsHZ1zj30/slIrT0nyK4pv3b6zc3f3Xu/+g4ePHvf3npx4WzmJU2m1dWcZeNTK4JQUaTwrHUKRaTzNLj61+uklOq+s+UrEucFnBuVKwkUqEX/x7IrQOtebZIR+GacKEMFwXQSoKuj5qREL39IG74F0NB+J18Xo89gpOr1lFZE1zwIUGs+R1wzeGyR9D+1ZrIGt1Bq5NVUVoDn2XeqV/U7RSphleFXKw6A+ScdIFvwnSLRiwbRwv+j/F0sqQENSg/ezNClpXoMjJTU2PVF5LEFewDnOAjRQoJ/X3RAb/jIwSx6GEY4h3rF/O2ovF8XWcjsCr6uteT/tFlF+Yd5rUxZERq5+SivNCfL243wpXIoSa8DAOlUqJXLFTiQFPbWC0NIr7d8E5xMxmkyTr+8HRwebcexy56x52zIUvaeHbLP7JhNmYyi6FWURGm8E4/iN/G7TWocbT1P2T8Rf/wNjsm+bg=</latexit> VizAssert Guideline + or Button visible 2. Z3 1. (set-logic QF_LRA) (declare-type Box …) Renderings ∀ b 1 , b 2 ∈ B , (declare-const b1 Box) b 1 ∈ $( .search-button ) ∧ 3. (declare-const b2 Box) b 2 ∈ $( . toolbar ) = ⇒ (assert (not …)) within ( b 1 , b 2 ) Visual Logic SMT Query

Recommend


More recommend